2010-01-06 56 views
0

在我的数据库中,可能有十几个表代表查找类型(所有代码都有ID和名称列 - 不,它们必须保留为独立表,不会标准化放入一张桌子)。我正在构建一个管理应用程序,我希望管理员能够添加/编辑/删除/列出所有这些查找。我知道我可以重新使用这个模型,但是有没有一种更有效的方法可以让我在asp mvc 2应用程序中编写它,除了编写3个视图,每个查找类型有1个控制器,导致48个视图和12个控制器?asp mvc设计问题:多个数据类型的单视图

回答

1

我不建议删除模型,控制器和视图之间的耦合。这种模式背后的想法是,您可以将工作流中的业务逻辑与演示分开。如果您开始将多个模型混合到相同的视图/控制器中,则会变得混乱。

也许尝试做你正在尝试使用母版页,让你的模型从一个共同的基类或类似的东西继承?通过这种方式,您可以重复使用代码而不会将其摧毁到相同的文件中。

0

如何将更高级的ORM映射合并到一个实体中?

0

我会这样做一个控制器和每个CRUD操作的动作/视图(1x4)。如果模式在一个或多个查找表上发生变化,那么我会处理它。否则,如果您为每个表格添加一列,请考虑所需工作:您必须更新48x12或任何文件。

你如何做它的细节取决于你的模型,但它可以简单地使用ADO.NET并返回一个DataTable或类似的填充动态SQL语句,其中表名由视图提供。当然,如果你使用字符串连接,你需要防止SQL注入。

创建视图将类似地使用来自发布表单的表名来知道使用发布的数据更新哪个表。

0

调查使用T4模板(decent example)建立一切。您应该能够编写基于每个模型的控制器和视图。

对不起,我的答案是与48个视图和12个控制器一起使用...设置了代码,以便如果添加更多查找类型,您只需重新运行代码即可,控制器和视图被设置。