RIA Service ObjectContext过滤器包含记录

时间:2011-03-06 21:23:16

标签: silverlight wcf ria domainservices

将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的产品;返回清空/空产品(如果没有)。这里的要点是返回订单,即使没有任何产品符合标准

1 个答案:

答案 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;