0

だから今、私は販売モジュールの製品選択ツールをコーディングしており、販売のために選択された各製品の在庫を表示したいと考えています。Products と Warehouses の 2 つのテーブルと、それらと倉庫内の製品の在庫との間に関係があるテーブルがあります。

これに対するクエリは、次のようなものになります。

productsXwarehouses pxw = dbGateway.productsXwarehouses
.Where(item => item.idproduct=idproduct && item.idWarehouse==idWarehouse).First();

しかし、テーブルの各行に対してこれを行う必要があり、それは本当に非効率的です。もっと良いアプローチがあるのではないかと思っていました。ありがとう!

ありがとう!

4

1 に答える 1

2

これを試して:

var stock = 
    from pw in dbGateway.productsXwarehouses
    group pw.Product by pw into g
    select new 
    {
        Product = g.Key, 
        TotalStock = g.Sum(w => w.Stock)
    };

あなたのproductsXwarehousesテーブルにはStocktype の列があると仮定していますint

しかし、おそらくさらに優れた解決策は次のとおりです。

var stock =
    from product in dbGateway.Products
    select new
    {
        Product = product,
        TotalStock = product.productsXwarehouses.Sum(w => w.Stock)
    };
于 2013-11-04T14:27:10.073 に答える