ASP.Net MVC EF-在父级创建时添加子级

本文关键字:创建 添加 Net MVC EF- ASP | 更新日期: 2023-09-27 18:19:35

我有一个带有Person类的MVC项目。模型、控制器和基本CRUD视图已经建立并工作。

该项目包含一个Notes类,该类允许一对多的Person/Notes关系。Notes表存储系统中各种实体的所有注释,因此它通过EntityGuid进行关联。

Note模型非常基础:

public class Note {
        public int ID { get; set; }
        public Guid EntityGuid { get; set; }
        public string NoteBody { get; set; }
}

正如人员控制器的POST创建方法一样:

    if (ModelState.IsValid) {
        db.Persons.Add(person);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

创建人员时,"创建视图"会在textarea上附加一个TinyMCE编辑器来记录注释。我需要能够在保存个人记录时保存初始注释(可选)。这将是Person的子记录,通过EntityGuid链接到父记录。

在代码优先的ASP.Net MVC EF下,处理这一问题的最干净/正确的方法是什么?

ASP.Net MVC EF-在父级创建时添加子级

如果您在Person类中定义了注释的集合,那么就可以做到这一点:

var note = new Note{NoteBody=noteFromModel};
        if(person.Notes==null)
          person.Notes=new List<Note>();
        person.Notes.Add(note);
    db.Persons.Add(person);
    db.SaveChanges();