用于CRUD的MVC5选项组维护表

时间:2015-11-04 12:55:32

标签: asp.net-mvc entity-framework

在由两个sql server表驱动的选项组列表上维护(CRUD)的最佳方法是什么?

选项组是这样的,只由两个表(父子)

驱动
OptionGroupOne
   ItemOne
   ItemTwo
OptionGroupTwo
   SecondItemOne
   SecondItemTwo
   etc…………….

是考虑在无序列表中循环?

我正在使用MVC5的实体框架6并不想使用javascript。

1 个答案:

答案 0 :(得分:0)

如果你似乎没有任何准备好的话,这还有很长的路要走...我敢打赌,这就是为什么没有人想开始解释的原因。

您应该在嵌套的ViewModel中组织列表,OptionGroupViewModelItemViewModelOptionGroupViewModel具有名称的string属性和子项的List<ItemViewModel>属性。所以主模型应该是List<OptionGroupViewModel>

cshtml中,对后者使用Html.EditorForModel()扩展方法,您应该已经获得了一些查看结果,EditorFor...方法非常智能,并将基于数据结构。

现在您将需要一个以List作为模型的MVC Post方法,您将在那里找到所有更新,您需要将它们映射回Entity Framework模型(或您拥有的任何类型的基础模型)。正如您在上面的评论中提到的,您只想要一种“编辑每个选项组的标题和每个组的标题的方法”。这将非常简单,但是在CRUD的一半,而Delete + Add在这种情况下更加棘手。

使用像Knockout JS这样的框架是一个很大的收获,但需要一些学习,并将JavaScript引入您的项目。链接的教程适用于Web.Api,但它也适用于MVC。