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
属性 修改为 collection
的 Folder
].然后,如果您尝试向特定字母 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;}
}
祝一切顺利。
我用 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
属性 修改为 collection
的 Folder
].然后,如果您尝试向特定字母 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;}
}
祝一切顺利。