C# 实体框架6一对多关系

C# 实体框架6一对多关系,c#,entity-framework-6,one-to-many,code-first,C#,Entity Framework 6,One To Many,Code First,我用EntityFramework6开发web应用程序 我有一个包含字母对象列表的模型文件夹 我的信反对: public class Letter { [Key] public int Id [ForeignKey("Folder")] public int FolderId {get; set;} public virtual Folder Folder {get; set;} } 我的数据库上下文中有2个数据库集: DbSet<Fol

我用EntityFramework6开发web应用程序

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

我的信反对:

public class Letter
{ 
    [Key]
    public int Id

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

    public virtual Folder Folder {get; set;}
}
我的数据库上下文中有2个数据库集:

  DbSet<Folder>
  DbSet<Letter>
DbSet
数据库集

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

是的,它们会包含在
文件夹的列表中,您必须将
虚拟
属性修改为
文件夹
集合。然后,如果您尝试向特定信件添加或检索文件夹,请按id选择信件,您的文件夹应该在那里。有关更多信息,请选中是,它们将包含在
文件夹的列表中,您必须将
虚拟
属性修改为
文件夹的
集合。然后,如果您尝试向特定信件添加或检索文件夹,请按id选择信件,您的文件夹应该在那里。有关更多信息,您可以查看

,因此这应该是您的模型的外观

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;}

}
公共类文件夹
{
公共int Id{get;set;}
公共虚拟ICollection字母{get;set;}
}
公函
{
公共int Id{get;set;}
public int FolderId{get;set;}
公用虚拟文件夹{get;set;}
}

一切都好。

所以这应该是您的模型的样子

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;}

}
公共类文件夹
{
公共int Id{get;set;}
公共虚拟ICollection字母{get;set;}
}
公函
{
公共int Id{get;set;}
public int FolderId{get;set;}
公用虚拟文件夹{get;set;}
}

祝您一切顺利。

是的。为什么不通过运行代码亲自查看呢?在这里提出多余的问题之前,请先搜索一些基本概念。这是一个好的开始:是的。为什么不通过运行代码亲自查看呢?在这里提出多余的问题之前,请先搜索一些基本概念。这是一个良好的开端: