将月份与linq进行比较

时间:2017-05-30 11:46:31

标签: c# linq datetime

我想比较linq中两个值的月份部分,但我得到一个错误

  

属性或索引器DateTime.Month无法分配给

这是代码

var item = model.Where(d => d.DATE2.Date.Month = dto.StartDate.Month).FirstOrDefault();

model是具有日期时间属性的对象列表,dto.Startdate也是日期时间

1 个答案:

答案 0 :(得分:6)

如果您仔细阅读错误消息,则可能无法提出此问题,因为它足够清楚。无论如何,您必须在此使用==来比较两个值,=用于分配目的(基本知识)。进行此小更改后,您的查询将如下所示:

var item = model.Where(d => d.DATE2.Date.Month == dto.StartDate.Month).FirstOrDefault();

您可以使用FirstOrDefault代替Where,使其更加简单:

 var item = model.FirstOrDefault(d => d.DATE2.Date.Month == dto.StartDate.Month);