1

エンティティフレームワーク4でRIAドメインサービスを使用すると、フィルタリングされた関連アイテムを持つエンティティを取得するのに問題があります。

たとえば、Given:OrderテーブルとProductテーブル(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 に答える