我目前正在开发一个MVC 4项目,我们决定使用普通的旧SQL而不依赖于EntityFramework。
我现在的问题是初始化数据库连接的最佳做法是什么。我想过使用打开连接的Singleton(连接字符串存储在Web.config中),然后在整个应用程序生命周期中使用已建立的连接,但我不确定这是否是一个好方法!
答案 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!并且不要为此使用单身......