MVC:更新一对多关系

时间:2014-03-29 18:38:27

标签: c# asp.net-mvc entity-framework one-to-many updates

我在下面定义了一对多的关系

public class Student{
   [key]
   public string Id{get; set;}
   public string name{get; set:}
   public virtual List<Enrollment> Enrol{get; set;}
}

public class Enrollment{
  public int Id{get; set;}

  [ForeignKey("student")]
  public String StudentId{get; set;}
  Public string ISC{get; set;}
  public virtual Student student{get; set;}

}

我有一个表单允许我编辑学生实体,包括添加或删除一些注册。在提交表单后保存此数据时,注册是否也会更新,或者我是否必须单独更新注册?理想情况下,是否应该删除注册,然后重新插入或只更新(并且仅在有新项目存在时才进行插入)?

1 个答案:

答案 0 :(得分:1)

你需要走图表。 EF不会自动更新关系。

此响应有一个插入/更新删除子对象的好例子: The relationship could not be changed because one or more of the foreign-key properties is non-nullable

还有一个很好的扩展方法,可以添加图形行走功能: https://github.com/refactorthis/GraphDiff