我知道如何获得交易次数,但我如何获得特定月份的点数呢?
如果我想要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
最小化我的查询。
我尝试指定第一天和最后一天,但最后一天因月而异。
有没有一种简单的方法可以做到这一点?
答案 0 :(得分:2)
但最后一天因月而异。
您可以使用当前和下个月的第一天,并在下个月使用<
:
&& TransactionDateTime >= firstDayOfThisMonth
&& TransactionDateTime < firstDayOfNextMonth
答案 1 :(得分:2)
我认为你正在寻找这样的东西:
where tot.TransactionDateTime.Year == year && tot.TransactionDateTime.Month == month
答案 2 :(得分: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);
答案 3 :(得分: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
....
答案 4 :(得分:0)
第一天i = 1 最后一天= 30或31或28/29 创建一个结构,将月份与相应的最后日期相关联 并按月输入 这将是相应的最后一天 然后会计算出没有。特定月份的交易
答案 5 :(得分:0)
从TrasanctionDateTime
获取月份和年份tot.TransationDate.Year == year&amp;&amp; tot.Transaction.Month == month