使用ObjectQuery包含并使用嵌套的where子句

时间:2009-03-13 21:48:52

标签: entity-framework nested

使用实体框架,我试图找回订单详细信息的客户,但我想过滤掉那些活跃的订单。

Customer是我们的EntityObject,它包含Order EntityObjects的集合。 CustomerDetails是我们的ObjectContext。

下面的代码将附加所有订单,但我想过滤并仅附加那些活跃的订单。 (Order.active == true)。我怎样才能做到这一点?

我知道Include构建了一个嵌套查询语句(我可以通过使用.ToTraceString()来观察。)我希望将Where子句附加到这个嵌套的select语句或Include。

            Customer cust;
        CustomerDetails custTable = new CustomerDetails();


        cust = custTable.Customer
            .Where("it.cust_id = " + id)
            .Include("Order")  // But we only want Order.active == true!!!
            .ToList().First();

1 个答案:

答案 0 :(得分:0)

未经测试,但可能有用吗?

var temp = custTable.Customer.Where("it.cust_id = " + id).Include("Order");
cust = (from t in temp 
        where t.Order.active == true 
        select t).ToList().First();