LINQ to Entities-对导航属性的属性进行筛选

本文关键字:属性 筛选 导航 to Entities- LINQ | 更新日期: 2023-09-27 18:25:11

我有一个类PO,它与其中的导航属性(Shipment)具有1-0..1的关系。我想使用LINQ to Entities返回所有PO的列表,其中a)实际上有一个装运(不是null),b)在过去14天内的Shipment中有一个特定日期属性(DateShipped)。我怎样才能做到这一点?

澄清:PO类-->Shipment类(nav属性)-->DateShipped属性。我想在DateShipped上进行筛选,但我的查询实际上是在父PO类上。

简化:

public class PO {
    // misc
    public virtual Shipment Shipment { get; set; }
}
public class Shipment {
    // misc
    public virtual DateTime DateShipped { get; set; }
}

LINQ to Entities-对导航属性的属性进行筛选

from p in context.PO
where p.Shipment != null && p.Shipment.DateShipped >= DateTime.Now.AddDays(-14)
select p

您可能还需要只考虑date部分,无论哪种方式,这都是您必须弄清楚的一些细节。