MVC:更新一对多关系
本文关键字:关系 一对多 更新 MVC | 更新日期: 2023-09-27 17:55:05
我在下面定义了一对多关系
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;}
}
我有一个表单允许我编辑Student实体,包括添加或删除一些注册。在提交表单后保存此数据时,是否也会更新登记,还是必须单独更新登记?理想情况下,应该先删除登记,然后重新插入,还是只更新登记(并且只在新项目多于现有项目时进行插入)?
您需要遍历图形。EF不会自动更新关系。
这个响应有一个插入/更新/删除子对象的好例子:无法更改关系,因为一个或多个外键属性不可为空
也有一个很好的扩展方法,增加图形行走功能:https://github.com/refactorthis/GraphDiff