将数据从控制器保存到多个表中
本文关键字:保存 数据 控制器 | 更新日期: 2023-09-27 18:21:58
我有一个包含多个模型的视图模型:
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 中保存对每个表的更改。 任何帮助都会很棒!谢谢。
您只需
保存作为视图模型属性的模型。 使用教程中的示例,如果要为这两个记录中的每一个添加新记录,则可能是这样的:
db.People.Add(model.People);
db.Organizations.Add(model.Organizations);
db.SaveChanges();
您可以在数据库上下文(db
对象及其属性(中进行所需的所有添加/修改/等,当您调用.SaveChanges()
时,它们都将发送到数据库。 在上面的代码中,该数据库调用最终将是两个INSERT
语句。