У меня есть две сущности:
public class Product
{
[HiddenInput(DisplayValue=false)]
public int ProductID { get; set; }
[Required(ErrorMessage="Please enter a product name")]
public string Name { get; set; }
[Required(ErrorMessage = "Please enter a description")]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
[Required]
[Range(0.01,double.MaxValue,ErrorMessage="Please enter positive price")]
public decimal Price { get; set; }
public Category Category { get; set; }
[HiddenInput(DisplayValue= false)]
public string ImageFileName { get; set; }
[HiddenInput(DisplayValue = false)]
public string ImageMimeType { get; set; }
}
и
public class Category
{
[HiddenInput(DisplayValue=false)]
public int CategoryID { get; set; }
[Required(ErrorMessage="Please enter a category name")]
public string Name { get; set; }
[Required(ErrorMessage = "Please enter a description")]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
public ICollection<Product> Products { get; set; }
[HiddenInput(DisplayValue= false)]
public string ImageFileName { get; set; }
[HiddenInput(DisplayValue = false)]
public string ImageMimeType { get; set; }
}
Когда я пытаюсь получить продукт таким образом
Product product = repository.Products.FirstOrDefault(p => p.ProductID == id);
Поле категории равно нулю.
Нет методов product.Category.Load () и repository.Products.Include ("Category") ....
context.Configuration.LazyLoadingEnabled = false;
не влияет.
Контекст является объектом следующего класса
public class EFDbContext:DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<Category> Categories { get; set; }
}
Как загрузить нужное поле?
Спасибо