1

次の と の 2 つのテーブルがありtb_Typesますtb_TypePrices

tb_Type
-------
id
title

tb_TypePrices
-------------
id
typeId
fromQuantity
ToQuantity
Supplier
Price 

これらのテーブルには親子関係があります

ここで、tb_Typesjoinからデータをフェッチしたいと思います。tb_TypePricestypeId=mytypeIdparameterQuantityfromQuantityToQuantity

4

3 に答える 3

1
from t in tb_Type
join tp in tb_TypePrices on t.id equals tp.typeId
where t.id == mytypeId && 
      (parameterQuantity < tp.fromQuantity ||
       tp.ToQuantity < parameterQuantity)
select new { Type = t, TypePrice = tp }

または、フィルター処理されたすべてのタイプの価格を 1 つのオブジェクトに含める場合は、次のようにします。

from t in tb_Type
join tp in tb_TypePrices on t.id equals tp.typeId into g
where t.id == mytypeId         
select new { 
    Type = t, 
    Prices = g.Where(x => parameterQuantity < x.fromQuantity ||
                          x.ToQuantity < parameterQuantity) 
}
于 2013-03-08T08:06:50.273 に答える
0

外部キー関係があると仮定すると、使用できるはずです

var query = tb_TypePrices
     .Where( t => t.fromQuantity < parameterQuantity || 
                  t.ToQuantity > parameterQuantity)
     .Select( t => new 
         { 
             t.fromQuantity, 
             t.ToQuantity,
             ... etc,
             Title=t.tb_Type.title 
         };
于 2013-03-08T09:05:20.583 に答える
0

これを試して :

var data = from t1 in tb_Type
           join t2 in tb_TypePrices
           on t1.id equals t2.typeId
           where t2.fromQuantity < parameterQuantity || t2.ToQuantity > parameterQuantity
           select new { Type = t1, TypePrices = t2 };
于 2013-03-08T07:50:51.513 に答える