如何存储在多个实体中编辑或创建的信息

时间:2011-03-28 11:44:00

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

在我的ASP.net MVC应用程序中,我想将已编辑或创建的信息存储在几个不同的实体(人员,地址,......)中。

因此,我的创建视图存在于人员表和地址表中每个属性的输入字段。现在我想同时将值存储在两个实体中? 这与使用ViewModel检索时的方法相同吗?还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

您确实可以将视图输入到视图模型中,该视图模型封装了该视图所需的所有内容,但是当需要将它们存储在数据库中时,您仍然必须单独为每个实体执行此操作,例如你有:

// here you got hold of your entities already; 
// we are in your action method

// this is your context, but please use 
// Dependency Injection in your controller ^_^
var context = new dbContext();

context.Add(person);
context.Add(address);

// This will store all the entities you've added in one go.
context.SaveChanges();
只要您通过相同的上下文检索所述实体,

SaveChanges()在您更新实体时也可以正常工作。