Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用现有Postgres数据库访问MVC3数据库_Asp.net Mvc_Asp.net Mvc 3_Postgresql_Razor_Npgsql - Fatal编程技术网

Asp.net mvc 使用现有Postgres数据库访问MVC3数据库

Asp.net mvc 使用现有Postgres数据库访问MVC3数据库,asp.net-mvc,asp.net-mvc-3,postgresql,razor,npgsql,Asp.net Mvc,Asp.net Mvc 3,Postgresql,Razor,Npgsql,我有一个基于三层体系结构的应用程序,其中postgres数据库(npgsql)有400多个存储过程,现在我想使用MVC3框架开发同一个应用程序 我想知道将现有数据库与这些存储过程一起使用的最佳方法是什么,我遇到过代码优先的方法(http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx)但我想知道这是否是最好的解决方案 此外,我还了解了Razor的优点,但

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

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


此外,我还了解了Razor的优点,但我的应用程序有很多DataGridView和TabControls,所以我想知道使用Razor是否容易

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

其次,如果您使用的是DataGridView和TabControls,ASP.NET MVC实际上不能与服务器控件一起工作,那么您要么需要获得一个提供网格的HtmlHelper,要么自己构建一个


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

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

由于以下原因:

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

在演示文稿中使用MVC不考虑使用DATAGIDVIEW或TabCONTRORL,所以您也需要抛出它们,并且没有重用它们的解决方案。

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


因此,你必须认真考虑你想要达到的转换水平,以决定你将保留什么和丢弃什么,但我建议你,如果你真的不重组整个项目,不要转换为MVC,保持项目原样,重构项目并改进现有方法

非常感谢您的回复,我真的认为采用三层体系结构是明智的,目前我们没有面临任何可维护性问题,我们唯一关心的是性能。MVC可以帮助您很好地提高性能,这是因为它使您能够更好地控制表示层,不再生成JavaScript,不再使用繁重的viewstate等。而且还需要学习时间来熟悉和提高效率,您还可以制定长期迁移计划,最后,请不要忘记我说过的一个主要好处是可维护性,而不仅仅是可维护性。我们关心的是性能,这就是我们尝试转向MVC的原因。MVC会在性能方面提供帮助吗?