使用实体框架,我试图找回订单详细信息的客户,但我想过滤掉那些活跃的订单。
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();
答案 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();