J'ai deux entités:Entity Framework de charge paresseux
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; }
}
et
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; }
}
Quand je suis en train d'obtenir le produit de cette façon
Product product = repository.Products.FirstOrDefault(p => p.ProductID == id);
champ Catégorie est nul.
Il n'y a pas product.Category.Load() et repository.Products.Include ("Category") ... méthodes.
context.Configuration.LazyLoadingEnabled = false;
n'affecte pas. Le contexte est un objet de la prochaine classe
public class EFDbContext:DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<Category> Categories { get; set; }
}
Comment je charger champ nécessaire?
Merci
Je viens d'essayer d'aller chercher l'objet Product de cette façon: Produit produit = (à partir de p dans le dépôt.Produits.Inclure ("Catégorie") où p. ProductID == id select p) .SingleOrDefault(); et la catégorie a été chargée aussi. C'est une solution possible. Mais il est intéressant de savoir pourquoi la catégorie est nulle lorsque j'utilise la première manière – xwrs