0

我试图弄清楚,如何为我的实体实现导航属性......但我的导航属性始终为空:

我设置了两个实体:

实体 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);

我做错了什么?我忘记了什么重要的事情吗?它必须如此复杂吗?我是否必须在覆盖的方法中为每个属性添加一行?

4

2 回答 2

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 属性,而是指类型!

于 2013-05-31T07:23:10.520 回答
1

“始终为空”是什么意思?
如果您在尝试从 DB 中读取空值时谈论它们,
请记住,您需要在查询上下文时急切地加载导航属性,或者使用 EF 延迟加载。

阅读内容以获取更多信息。

于 2013-05-31T07:53:00.857 回答