Entity Framework6 一对多关系

Entity Framework 6 one to many relationship

我用 Entity framework 6.

开发 Web 应用程序

我有一个包含 Letter 对象列表的模型文件夹。

我的来信对象:

public class Letter
{ 
    [Key]
    public int Id

    [ForeignKey("Folder")]
    public int FolderId {get; set;}

    public virtual Folder Folder {get; set;}
}

我的 DbContext 中有 2 个数据库集:

  DbSet<Folder>
  DbSet<Letter>

我的问题是当我添加一封新信件时会发生什么?如果我稍后获取我添加字母的文件夹,这些字母会包含在文件夹的字母列表中吗?

是的,它们将包含在 Folder 的列表中,您必须将 virtual 属性 修改为 collectionFolder ].然后,如果您尝试向特定字母 select 添加或检索文件夹,则该字母按 id 和您的文件夹应该在那里。有关详细信息,您可以查看 here

所以你的模型应该是这样的

public class Folder
{
 public int Id{get;set;}
 public virtual ICollection<Letter> Letters{get;set;}
}

public class Letter
{
public int Id{get;set;}
public int FolderId{get;set;}
public virtual Folder Folder{get;set;}

}

祝一切顺利。