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实体,包括添加或删除一些注册。在提交表单后保存此数据时,是否也会更新登记,还是必须单独更新登记?理想情况下,应该先删除登记,然后重新插入,还是只更新登记(并且只在新项目多于现有项目时进行插入)?

MVC:更新一对多关系

您需要遍历图形。EF不会自动更新关系。

这个响应有一个插入/更新/删除子对象的好例子:无法更改关系,因为一个或多个外键属性不可为空

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