1

私は3つのデータモデルクラスproduct、order、orderRowを持っています

現在の注文行ではない製品のみを選択するにはどうすればよいですか?

var order = db.Orders.Find(order_id);
var product= db.Products.Where(m => ((order==null) || order.Rows.Count(a => a.Product== m) < 1)  ).AsQueryable();

これを試してみると、「'Order' 型の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。」というメッセージが表示されます。

4

3 に答える 3

1

私はここでいくつかの仮定をしていますが、あなたは外挿することができます:

var nonSelectedProducts = from product in db.Products
                          where !order.Rows.Any(or => or.ProductId == product.Id)
                          select product
于 2013-03-12T17:17:57.480 に答える
1

IDに対して否定的なcontainsを実行できるはずです:

var productIds = order.Rows.Select(x => x.Product.Id);
var products = db.Products.Where(x => !productIds.Contains(x.Id));
于 2013-03-12T17:31:49.240 に答える