我有一个带有Person类的MVC项目。模型,控制器和基本CRUD视图已建立并正常工作。
该项目包含一个允许一对多Person / Notes关系的Notes类。 Notes表存储系统中各种实体的所有注释,因此它通过EntityGuid相关。
Note模型非常基础:
public class Note {
public int ID { get; set; }
public Guid EntityGuid { get; set; }
public string NoteBody { get; set; }
}
与Person Controller的POST方法一样:
if (ModelState.IsValid) {
db.Persons.Add(person);
db.SaveChanges();
return RedirectToAction("Index");
}
创建人物时,“创建视图”会将一个TinyMCE编辑器附加到textarea
以记录该笔记。我需要能够在保存个人记录时保存初始注释(可选)。这将是Person的子记录,通过EntityGuid链接到父。
在代码优先的ASP.Net MVC EF下处理此问题的最干净/最正确的方法是什么?
答案 0 :(得分:1)
如果你有在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();