我正在将我的Windows窗体应用程序连接到他们的Access数据库(呃,我知道),并且无法获取我的linq查询以返回任何内容。
var matchDateField = from myRow in boilerDT.AsEnumerable()
where myRow.Field<DateTime>("EntryDate").ToShortDateString() == dateTimePicker1.Value.ToShortDateString()
select myRow;
有什么建议吗?
答案 0 :(得分:0)
获取所有行:
IEnumerable<DataRow> dateFieldQuery =
from myRow in boilerDT.AsEnumerable()
select myRow;
按日期过滤:
IEnumerable<DataRow> matchDateField =
dateFieldQuery.Where(p => p.Field<DateTime>("EntryDate").Date == dateTimePicker1.Value);
所以在这里你使用延迟执行,它允许组合多个查询或扩展查询。扩展查询时,会将其修改为包含新操作,最终执行将反映更改。
第一个查询返回所有行,第二个查询扩展第一个查询,使用Where返回具有特定日期的所有行。