使用C#和Linq获取财政年度4月6日至4月5日的记录

使用C#和Linq获取财政年度4月6日至4月5日的记录,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我有一个表,其中有交易日期,我想获取上一个财政年度的记录。 例如,如果今天是2017年3月17日,我想获取从2017年4月6日到今天的记录。然后,如果我今天的日期超过4月6日,则获取从2017年4月6日到今天的记录 在这种情况下,如何使用c#和linq获取记录 我使用了这个linq查询 List<TransactionMaster> donations = db.TransactionMasters.Where(s => s.DonorId == DonorId &a

我有一个表,其中有交易日期,我想获取上一个财政年度的记录。 例如,如果今天是2017年3月17日,我想获取从2017年4月6日到今天的记录。然后,如果我今天的日期超过4月6日,则获取从2017年4月6日到今天的记录

在这种情况下,如何使用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();
列出捐赠=
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月份的记录


那么,我如何获取4月6日至4月5日财政年度的记录

尝试直接比较日期,而不是部分比较,以便:

var date = new DateTime(DateTime.Now.Year, 4,6);
List<TransactionMaster> donations = 
db.TransactionMasters.Where(s => s.DonorId == DonorId && 
s.TransactionDate >= date).ToList();
var date=new DateTime(DateTime.Now.Year,4,6);
列出捐款=
db.TransactionMasters.Where(s=>s.DonorId==DonorId&&
s、 TransactionDate>=日期)。ToList();

在LINQ to Entities中只支持无参数构造函数和初始值设定项。将
新日期时间(DateTime.Now.Year,4,6)
放置在查询外部,并使用变量将变量传递到查询内部。谢谢。。。。。山本哲也,这对我很有用,非常感谢janmbaco