我有一个包含多个模型的ViewModel:
public class MyViewModel
{
Music.Models.Organizations Organizations {get; set;}
Music.Models.People People {get; set;}
}
当用户在我的视图中填写了相应的字段并且用户按下了提交按钮时,我想将更改保存到我的控制器中的相应表中:(我有一个名为db的MyViewModel实例)
[HttpPost] public ActionResult Submit(MyViewModel model)
{
if (ModelState.IsValid)
{
db. //what do I do here?
}
}
在教程等中,我一次只看到一个模型,因此他们可以做类似的事情
db.People.Add(model);
db.SaveChanges();
当用户按下提交按钮时,数据被保存到多个表格,我不知道如何在ViewModel中保存对每个表格的更改。任何帮助都会很棒!感谢。
答案 0 :(得分:0)
您只需保存视图模型上属性的模型。使用教程中的示例,如果要为这两个中的每一个添加新记录,可能是这样的:
db.People.Add(model.People);
db.Organizations.Add(model.Organizations);
db.SaveChanges();
您可以进行所有添加/修改等。您想要在数据库上下文(db
对象及其属性)中,当您调用.SaveChanges()
时,它们都将被发送到数据库。在上面的代码中,数据库调用最终会成为两个INSERT
语句。