这是我的LINQ声明:
var query = from s in ctx.location
join b in ctx.order on s.locationID
equals b.ID
join e in ctx.offerdata on b.OrderID
equals e.OrderID
where e.delDate.Value.Year == 2013
orderby e.identity_no
select new Order
{
...
};
return query.ToList();
我的delDate是一个?DateTime,例如它看起来像2013-05-15 14:10:00(yyyy-MM-dd hh:mm:ss)。 但我希望收到所有数据集,例如2013年。(或我选择的任何其他年份)。
但是,其中e.delDate.Value.Year 语句不提供.Contains方法,所以我该怎么办呢?
非常感谢!
答案 0 :(得分:1)
这里最好的选择是建立一个范围,即
var start = new DateTime(2013,1,1), end = new DateTime(2014,1,1);
...
where e.delDate.Value >= start && e.delDate.Value < end
你可以也使用日期部分实用程序,但这取决于LINQ提供程序支持的内容;几乎任何提供商都支持基本范围。