У меня есть belowe Классы:Загрузка Вложенные коллекции в Entity Framework
1- PurchaseMaster :Has collection >> PurchaseDetail
2- PurchaseDetail :Has Product
3- Product
Я хочу получить PurchaseMaster с Detail и продукта. Я стараюсь с belowe запросов, но его возврата ошибки:
var purchaseMasterModel = _purchaseMasters
.Include("StoreMasters.Details")
.Include("ProductHeader")
.FirstOrDefault(row => row.Code == code);
var purchaseMasterModel = _purchaseMasters
.Include("StoreMasters.Details")
.Include("StoreMasters.Details.ProductHeader")
.FirstOrDefault(row => row.Code == code);
var purchaseMasterModel = _purchaseMasters
.Include("StoreMasters.Details")
.Include("Details.ProductHeader")
.FirstOrDefault(row => row.Code == code);
Я получаю эту ошибку:
Заданный Включить путь не является допустимым. EntityType «DataLayer.Context.StoreDetail» не объявляет свойство навигации с именем «ProductHeader». мои классы, как это:
public class PurchaseMaster:BaseEntity
{
public virtual ICollection<PurchaseDetail> PurchaseDetails { get; set; }
}
public class PurchaseDetail:BaseEntity
{
public PurchaseMaster PurchaseMaster { get; set; }
public Guid PurchaseMasterId { get; set; }
public ProductHeader ProductHeader { get; set; }
public Guid ProductHeaderId { get; set; }
}
public class ProductHeader:BaseEntity
{
public virtual ICollection<PurchaseDetail> PurchaseDetails { get; set; }
}
Что такое ошибка? – dotctor
Почему бы не использовать включенную перегрузку, которая принимает переключатель свойств? '.Include (x => x.SomeProperty)'? – dotctor
как? вы можете сказать, пожалуйста? –