2016-06-17 18 views
0

このクエリをどのようにしてEntity Frameworkクエリに変換できますか?SQLクエリをEntityFrameworkに変換する

select Price, 
(
    select Cost.Title 
    from Cost 
    where Cost.CostID= CostItem.CostID 
) as nameCost 
from CostItem 
where ItemID= 11 
+1

SQLをポストして変換を求めないでください。少なくともクラスモデルを表示して、ナビゲーションプロパティと関連の多重度を確認します。また、あなた自身の最初の努力を示してください。彼らは、あなたが思うかもしれないよりも、私たちにもっと明らかにします。 –

+0

よろしくお願いします。 –

答えて

1
var result = dbContext.CostItems 
    .Where(item => item.ItemId == 11) 
    .Select(item => new { Price = item.Price, nameCose = item.Cost.Title }) 

ちょうどあなたがあなたを持っていることを確認してくださいエンティティオブジェクト内の関係が正しく設定される

1

あなたのクエリはまたLEFT JOINで書くことができます:C#を使用してLINQのにこれを変換する

SELECT 
    ci.Price, 
    NameCost = c.Title 
FROM CostItem ci 
LEFT JOIN Cost c 
    ON c.CostID = ci.CostID 
WHERE ci.ItemID = 11 

、あなたが得る:

var t = 
    from ci in CostItem 
    join c in Cost on ci.CostID equals c.CostID into lc 
    from c in lc.DefaultIfEmpty() 
    where ci.ItemID == 11 
    select new { 
     Price = ci.Price, 
     NameCost = c.Title 
    }; 
関連する問題