我的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属性。我真的必须这样做吗?
答案 0 :(得分:0)
如果不使用
,我似乎可以在上下文中没有DBSetContext.Columns.Remove(col)
我用
Layout.Columns.Remove(col)
Context.Entry(col).State = EntityState.Deleted;