Как преобразовать этот запрос в запрос Entity Framework?Преобразование SQL-запроса в EntityFramework
select Price,
(
select Cost.Title
from Cost
where Cost.CostID= CostItem.CostID
) as nameCost
from CostItem
where ItemID= 11
Как преобразовать этот запрос в запрос Entity Framework?Преобразование SQL-запроса в EntityFramework
select Price,
(
select Cost.Title
from Cost
where Cost.CostID= CostItem.CostID
) as nameCost
from CostItem
where ItemID= 11
var result = dbContext.CostItems
.Where(item => item.ItemId == 11)
.Select(item => new { Price = item.Price, nameCose = item.Cost.Title })
Просто убедитесь, что у вас есть ты отношения в объектах объектов правильно настроены
Ваш запрос также может быть написано с LEFT JOIN
:
SELECT
ci.Price,
NameCost = c.Title
FROM CostItem ci
LEFT JOIN Cost c
ON c.CostID = ci.CostID
WHERE ci.ItemID = 11
Преобразование это Linq с помощью C#, вы получите:
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
};
Пожалуйста, никогда не отправляйте SQL и не просите конверсии. По крайней мере, покажите модель класса, поэтому видны свойства навигации и множество ассоциаций. Также покажите свои первые усилия. Они разъясняют нам больше, чем вы думаете. –
ОК, спасибо за ваше напоминание. –