0

トランザクション数を取得する方法は知っていますが、特定の月に発生したカウントを取得するにはどうすればよいですか?

たとえば、2013 年 3 月のトランザクションが必要ですか?

これが私の現在のクエリです:

  textBox_PaymentsCount.Text = 
       (from tot in _entities.Payments
        where tot.CorporationId == _currentcorp.CorporationId && 
         tot.Result != null
          select tot).Count().ToString(CultureInfo.InvariantCulture);

フィールドごとにクエリを最小化する必要がありますTransactionDateTime

初日と最終日を指定してみましたが、月によって最終日が異なります。

これを行う簡単な方法はありますか?

4

6 に答える 6

2

ただし、最終日は月によって異なります。

現在の月と翌月の最初の日を使用し<て、翌月を使用できます。

&& TransactionDateTime >= firstDayOfThisMonth 
&& TransactionDateTime < firstDayOfNextMonth
于 2013-04-02T16:42:36.083 に答える
2

私はあなたがこのようなものを探していると思います:

where tot.TransactionDateTime.Year == year && tot.TransactionDateTime.Month == month
于 2013-04-02T16:43:43.273 に答える
1

where別の条件を句に追加し、プロパティを使用DateTime.Monthします。DateTime.Year

tot.DateProperty.Month == 3 && tot.DateProperty.Year == 2013

クエリ全体は次のようになります。

textBox_PaymentsCount.Text = 
    (from tot in _entities.Payments
     where tot.CorporationId == _currentcorp.CorporationId && 
     tot.Result != null &&
     tot.DateProperty.Month == 3 && tot.DateProperty.Year == 2013
     select tot).Count().ToString(CultureInfo.InvariantCulture);
于 2013-04-02T16:43:50.470 に答える
0

試す:

var from = new DateTime(2013, 1, 1);
var until = new DateTime(2013, 2, 1);

....
where tot.CorporationId == _currentcorp.CorporationId 
&& tot.Result != null
&& tot.TransactionDateTime > from && tot.TransactionDateTime < until
....
于 2013-04-02T16:44:29.653 に答える
0

あなたから月と年を取得するだけです TrasanctionDateTime

tot.TransationDate.Year == 年 && tot.Transaction.Month == 月

于 2013-04-02T16:52:33.320 に答える
0

初日 i = 1 および最終日 = 30 または 31 または 28 / 29 月を対応する最後の日付にリンクする構造を作成し、月の入力に従って、対応する最終日を取得し、番号を計算します。特定の月のトランザクション数

于 2013-04-02T16:45:55.530 に答える