在我的表TimeTable
中,我有Title,FromDate,ToDate
等列,我试图按月收集结果。为此,我尝试使用像
DataObject.Entities entities=new DataObject.Entities();
DataObject.TimeTable timeTable
= entities.TimeTables.First(t=>t.FromDate.Month<=DateTime.Now.Month
&& t.ToDate.Month>DateTime.Now.Month)
{
//
}
但是在这里,它在t.FromDate.Month
显示错误显示错误,如<System.DateTime> doesn't contain definition for Month
......如何解决这个问题,任何人都可以帮助我,
答案 0 :(得分:2)
问题在于你使用的是.Net框架中的方法而linq无法翻译。为了解决这个问题,尝试了这个
var example = entities.TimeTables.AsEnumerable().Where(
t=>t.FromDate.Month<=DateTime.Now.Month
&& t.ToDate.Month>DateTime.Now.Month);
这也可以起作用
var example = entities.TimeTables.ToList().Where(
t=>t.FromDate.Month<=DateTime.Now.Month
&& t.ToDate.Month>DateTime.Now.Month);
注意:第二个会强制您获取表格的所有记录,如果行数过多会导致性能下降