我正在使用ASP.NET MVC,我有几个模型类都是从父对象派生的。我想在一个控制器动作中处理所有这些模型,因为它们几乎完全相同,除了一些数据字段。我想将它们保存到数据库中。我怎样才能实现这样的行为?
示例:
class ParentModel {...}
class ChildModel1 : ParentModel {...}
class ChildModel2 : ParentModel {...}
class ChildModel3 : ParentModel {...}
class ChildModel4 : ParentModel {...}
public class ModelController : Controller
{
//But with this I want to handle all the child objects as well
//And add them automatically to the database.
public ActionResult Add(ParentModel model)
{
db.ParentModel.Add(model);
}
}
答案 0 :(得分:1)
您应该创建一个ViewModel类,例如:
public class viewmodel
{
public ChildModel1 childModel1 { get; set; }
public ChildModel2 childModel2 { get; set; }
public ChildModel3 childModel3 { get; set; }
public ChildModel4 childModel4 { get; set; }
}
然后创建一个视图模型对象:
viewmodel v = new viewmodel();
现在您可以将您的子模型添加到视图模型中:
v.childModel1 = yourchildmodel1;
v.childModel2 = yourchildmodel2;
v.childModel3 = yourchildmodel3;
v.childModel4 = yourchildmodel4;
现在你可以通过这个模型了。