ASP.Net MVC和数据库连接

时间:2017-11-03 17:40:31

标签: asp.net sql-server model-view-controller

我目前有一个ASP.NET MVC应用程序,它有一个静态类来连接数据库。在一些测试中,我注意到当我开始使用来自几个不同会话的应用程序时,它变得非常慢。如果我只有一个会话,它以可接受的方式工作,但从3个会话开始变得不可行。

静态连接是从Global.asax的Application_Start开始的,我相信这种缓慢是因为所有人都在竞争相同的连接,对吗?

鉴于此,我决定改变相同的操作,但我认为我有两种方法可以遵循,但我想知道哪种方法最好:

1)建立在Global.asax中启动的会话连接,但是我担心由于应用程序几乎同时执行某些操作,这种方法在给定时间也很慢。

2)为数据库的每个查询操作建立连接,实例化连接,打开连接,执行操作并关闭连接。但同样,由于应用程序在加载某些页面时执行了大量操作,我害怕以这种方式弹出连接池。

你能帮帮我吗?您是否对另一种可以使用的方法有所了解?

目前,我们正在使用ADO.Net,并且在一些测试中,我们使用NHibernate,即使只有一个用户也是巨大的缓慢。

我感谢你的关注。 (翻译过的帖子)

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Entity Framework。

http://www.entityframeworktutorial.net/what-is-entityframework.aspx

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

假设您已经创建了应用程序(ASP.NET MVC)和数据库,您需要选择Visual Studio,选择Models文件夹>添加> New Item,然后选择ADO.NET实体数据模型。之后,您将看到实体数据模型向导。从该窗口中选择第一个选项,来自Database的Ef Designer。单击next,添加db连接参数(db server,数据库名称),单击next,从要使用的db中的对象(表,存储过程),然后单击Finish

希望它有所帮助!