У меня есть несколько связанных таблиц (сущностей). Я пытаюсь получить объекты, используя следующий linq:
ObjectQuery<Location> locations = context.Location;
ObjectQuery<ProductPrice> productPrice = context.ProductPrice;
ObjectQuery<Product> products = context.Product;
IQueryable<ProductPrice> res1 = from pp in productPrice
join loc in locations
on pp.Location equals loc
join prod in products
on pp.Product equals prod
where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1
select pp;
Этот запрос возвращает 2 записи, объекты ProductPrice, которые связали объект Location и Product, но они имеют значение null, и я не могу понять, почему. Если я попытаюсь заполнить их в linq, как показано ниже:
res =
from pp in productPrice
join loc in locations
on pp.Location equals loc
join prod in products
on pp.Product equals prod
where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1
select new ProductPrice
{
ProductPriceId = pp.ProductPriceId,
Product = prod
};
У меня есть исключение: «Объект или сложный тип PBExplorerData.ProductPrice не может быть создан в запросе LINQ to Entities»
Может кто-нибудь объяснить мне, что происходит и что мне нужно делать?
Спасибо