初始化数据库连接的最佳实践

时间:2013-02-20 09:19:01

标签: c# asp.net oracle asp.net-mvc-4 odp.net

我目前正在开发一个MVC 4项目,我们决定使用普通的旧SQL而不依赖于EntityFramework。

我现在的问题是初始化数据库连接的最佳做法是什么。我想过使用打开连接的Singleton(连接字符串存储在Web.config中),然后在整个应用程序生命周期中使用已建立的连接,但我不确定这是否是一个好方法!

3 个答案:

答案 0 :(得分:4)

对于数据库连接,尽可能晚地打开并尽早关闭

您应该在必要时创建连接对象,而不是单独连接,如果使用using阻止,则更好,因为Connection实现IDisposable并且您应该在处理连接时完成它。

答案 1 :(得分:0)

ODP.NET支持连接池,因此没有理由(除非在特定情况下另有证明)保留Singleton OracleConnection个对象。

这里的最佳做法是imo为每个语句使用连接(.NET连接对象,而不是物理连接)。

using(OracleConnection connection = ...)
    {
        ...Do work here
    }

答案 2 :(得分:0)

如果您想了解更多关于您刚刚描述的类似方法,请查看此处:https://stackoverflow.com/a/10153406/1289283。我已经回答了那种困境。请确保您不会按应用程序规模执行此操作,而是按请求执行此操作,否则您会遇到麻烦。每个应用程序适用于单用户桌面应用程序,不适用于webapps!并且不要为此使用单身......