2017-03-17 60 views
0

我有一张表,其中有交易日期,我想从上个财政年度获取记录。前者为 。如果今天是17-03-2017,我想从06-04-2017到今天获得记录。那么如果我今天的日期超过4月6日,那么从06-04-2017年的今年到今天都会有记录。在财政年度4月6日至4月5日期间使用C#和Linq获取记录

我怎样才能得到记录使用C#和LINQ与这种情况。

我已经使用这个LINQ查询

List<TransactionMaster> donations = 
    db.TransactionMasters.Where(s => s.DonorId == DonorId && 
    s.TransactionDate.Year >= DateTime.Now.Year - 1 && 
    s.TransactionDate.Month >= 4 && s.TransactionDate.Day >= 6) 
    .ToList(); 

,但我得到的记录仅2016年和月>四月。

那么我怎样才能获得4月6日至4月5日财政年度的记录?

回答

1

尝试比较的日期,而不是直接的部分,使得:

var date = new DateTime(DateTime.Now.Year, 4,6); 
List<TransactionMaster> donations = 
db.TransactionMasters.Where(s => s.DonorId == DonorId && 
s.TransactionDate >= date).ToList(); 
+0

只有参数构造函数初始化和LINQ中支持到实体。 –

+0

我得到了这个错误 –

+0

将'new DateTime(DateTime.Now.Year,4,6)'放在查询之外并带有一个变量,并在查询中传递变量。 –

相关问题