【问题标题】:Entity Framework 6 one to many relationshipEntity Framework 6 一对多关系
【发布时间】:2016-02-11 22:38:31
【问题描述】:

我使用实体框架 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>

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

【问题讨论】:

标签: c# entity-framework-6 one-to-many code-first


【解决方案1】:

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

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

}

一切顺利。

【讨论】:

    【解决方案2】:

    是的,它们将包含在Folder 的列表中,您必须将您的virtual 属性修改为collectionFolder。然后,如果您尝试将文件夹添加或检索到特定字母,请按 id 选择字母,您的文件夹应该在那里。更多信息可以查看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      相关资源
      最近更新 更多