我想弄明白,如何为我的实体实现导航属性......但我的导航属性始终为null:
我已经设置了两个实体:
实体1包含以下行:
public int Id { get; set; }
public ICollection<BestellterArtikel> BestellteArtikel { get; set; }
我的第二个实体看起来像这样:
public int Id { get; set; }
public int BestellungId { get; set; }
public Bestellung BestellteArtikel { get; set; }
此外,我将此行包含在我覆盖的OnModelCreating-Method:
中 modelBuilder.Entity<Bestellung>().HasMany(e => e.BestellteArtikel).WithRequired(e => e.Bestellung);
我做错了什么?我忘记了重要的事吗?它必须如此复杂吗?我是否必须在每个属性的覆盖方法中添加一行?
答案 0 :(得分:1)
这是我的解决方案:
实体1:
public virtual ICollection<BestellterArtikel> BestellteArtikel { get; set; }
实体2:
public virtual Bestellung BestellteArtikel { get; set; }
<强>编辑:强>
您还必须修改映射:
modelBuilder.Entity<Bestellung>().HasMany(e => e.BestellteArtikel).WithRequired(e => e.BestellteArtikel );
您没有提及BestellteArtikel属性,而是提到了类型!
答案 1 :(得分:1)
“始终为空”是什么意思?
如果您在尝试从DB中读取空值时谈论空值,则
然后记住,在查询上下文时需要急切地加载导航属性,
或使用EF延迟加载。
阅读this了解详情。