将RIA域服务与实体框架4一起使用,我无法获得带有过滤相关项的实体。
例如, 给定:订单表和产品表(1个订单有很多产品)
我有服务返回带有产品的订单,例如
public IQueryable<Order> GetOrderById(int orderId)
{
return this.ObjectContext.Order
.Include("Products")
.Where(n=>n.OrderId == orderId);
}
问题,
在这种情况下,有没有办法在linq查询中过滤Products记录? 比如说,返回指定ID的顺序,包含价格高于100.0的产品;返回清空/空产品(如果没有)。这里的要点是返回订单,即使没有任何产品符合标准。
答案 0 :(得分:3)
你有没有试过这样的事情:
var query = from o in ObjectContext.Order.Include("Products")
join p in ObjectContext.Product on o.ProductId equals p.ProductId
where o.OrderId == orderId and p.Price > 100
select o;