1

将 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 的产品;如果没有,则返回空/空产品。这里的重点是即使没有任何产品符合条件,也要退回订单

4

1 回答 1

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;
于 2011-03-06T21:52:53.663 回答