여러 연결된 테이블 (엔티티)이 있습니다. 나는 다음과 같은 LINQ를 사용하여 엔티티를 얻으려고 :Linq : 연결된 개체가 null 인 이유는 무엇입니까?
는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;
이 쿼리는이 개 기록 오브젝트의 위치와 제품을 연결 한 ProductPrice 객체를 반환하지만 그들은 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에 건설 될 수 없다"가 은 누군가가 설명해 주시겠습니까 무슨 일이 일어나고 내가해야 할 일이 있습니까? 감사합니다.
솔루션을 제공해 주셔서 감사합니다. 귀하의 솔루션이 나를 위해 최선을 다하지는 않지만 (지연된로드를 사용하는 것을 선호하지만) 검색 할 위치와 검색 할 위치를 이해할 수있었습니다. 필자는 기본 엔티티에서 EntityReference의 Load() 메소드를 사용하여 지연된로드를 수행 할 수 있음을 발견했습니다. – mimic