【问题标题】:Do I need to create a DBSet for every table? So that I can persist child entities?我需要为每个表创建一个 DBSet 吗?这样我就可以保留子实体?
【发布时间】:2013-11-27 04:35:44
【问题描述】:

我的 EF5 型号

public Layout()
{
   public int Id {get;set}
   public BindingList<Column> Columns {get;set}
}
public Column()
{
   public int Id {get;set}
   public string Name {get;set}

   [Required]
   [ForeignKey("LayoutId")
   public virtual Layout Layout {get;set}
   public int LayoutId {get;set}

}

在我的上下文中,我只需要指定

DBSet<Layout> Layouts {get;set}

我不需要为数据库指定 DBSet Columns 来创建我想要的两个表的方式。

我也很高兴我的代码只通过布局对象访问列 但是我不知道如何正确地保存布局对象及其列。

这个 question here 描述了如何保存带有子对象的父对象,但它需要我在我的上下文中创建一个 DBSet Columns 属性。我真的必须这样做吗?

【问题讨论】:

    标签: ef-code-first


    【解决方案1】:

    如果不使用

    Context.Columns.Remove(col)
    

    我用

    Layout.Columns.Remove(col)
    Context.Entry(col).State = EntityState.Deleted;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 2013-07-01
      • 2016-03-25
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      相关资源
      最近更新 更多