在视图中添加表单元素,包括主要实体和相关实体的字段。
在控制器中,创建主要实体对象,并将其字段填充为视图中提交的值。
在控制器中,对于每个相关实体,创建一个新的实体对象,并将其字段填充为视图中提交的值。
将相关实体附加到主要实体的导航属性中。
将主要实体和相关实体保存到数据库中。
示例代码:
//视图代码 @model MainEntityViewModel @using (Html.BeginForm()) { @Html.EditorFor(m => m.MainEntityProperty1) @Html.EditorFor(m => m.MainEntityProperty2)
@Html.EditorFor(m => m.RelatedEntityProperty1)
@Html.EditorFor(m => m.RelatedEntityProperty2)
}
//控制器代码 public ActionResult Save(MainEntityViewModel viewModel) { var mainEntity = new MainEntity { Property1 = viewModel.MainEntityProperty1, Property2 = viewModel.MainEntityProperty2 };
var relatedEntity = new RelatedEntity {
Property1 = viewModel.RelatedEntityProperty1,
Property2 = viewModel.RelatedEntityProperty2
};
mainEntity.RelatedEntities.Add(relatedEntity);
db.MainEntities.Add(mainEntity);
db.SaveChanges();
return RedirectToAction("Index");
}