ASP.Net MVC EF - 在父创建上添加子项

时间:2014-08-26 22:13:23

标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-4

我有一个带有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下处理此问题的最干净/最正确的方法是什么?

1 个答案:

答案 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();