1

我有一个基于 3 层架构的应用程序,其中 postgres 数据库(npgsql)有 400 多个存储过程,现在我想使用 MVC3 框架开发相同的应用程序。

我想知道将现有数据库与这些存储过程一起使用的最佳方法是什么,我遇到了代码优先方法(http://weblogs.asp.net/scottgu/archive/2010/08/03/using- ef-code-first-with-an-existing-database.aspx),但想知道它是否是最佳解决方案。

我还阅读了 Razor 的好处,但是我的应用程序有很多 DataGridViews 和 TabContorls,所以我想知道使用 Razor 是否容易?

4

2 回答 2

0

我建议使用您已经拥有的东西(http://npgsql.projects.postgresql.org/),然后您可以利用现有的框架/基础设施(如何从现有应用程序查询数据库)。

其次,如果您使用 DataGridViews 和 TabControls,ASP.NET MVC 并不能真正与服务器控件一起使用,您要么必须获得一个为您提供网格的 HtmlHelper,要么自己构建一个。

我认为需要问的问题是,为什么要使用 MVC 与 WebForms 4.0?

于 2011-11-15T07:42:40.077 回答
0

首先,您必须决定使用 MVC3 开发现有应用程序所需的重构级别或转换级别,因为您可能会丢掉大部分工作

由于以下原因:

使用 MVC 作为技术与 DDD 作为 OOP 设计或普通 OOP 相关,在这两种方法中,主要层是域模型而不是数据库,因此您需要将所有存储过程转换为域模型中的业务逻辑本身或以其他方式使用现有数据库,在这种情况下,您将失去使用 MVC 的一大好处

在表示层中使用 MVC 不考虑使用 DataGridViews 或 TabContorls,因此您也需要将它们扔掉,并且没有解决方案可以重用它们。

最后,使用 MVC 的主要好处是单元测试的能力和 MVC 提供的高水平可维护性,因为模式的性质和方法本身>

所以你必须非常仔细地考虑你想要达到什么水平的转换来决定你将保留什么以及你将丢弃什么,但我建议你如果你真的不重组你的整个项目不要转换到 MVC,保持项目原样,重构它并增强现有方法

于 2011-11-15T08:04:59.383 回答