如何使用日期过滤LINQ

时间:2013-11-27 15:09:56

标签: 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.ToString().Contains("2013"))

       orderby e.identity_no
       select new Order
       {
    ...

       };

      return query.ToList();

但这不起作用......所以我的LINQ必须如何,只能看到2013年的订单......

非常感谢!

3 个答案:

答案 0 :(得分:3)

嗯,你对这一年真的很感兴趣吧?所以试试:

where e.delDate.Year == 2013

编辑:我们现在知道delDateDateTime?,它将是:

where e.delDate != null && e.delDate.Value.Year == 2013

答案 1 :(得分:2)

使用:

e.delDate.Year == 2013

...

答案 2 :(得分:2)

如果是DateTime,为什么要将其转换为string

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.Year == 2013)