我想知道连接数据库的好习惯是什么,我设计了一个连接类,并始终用它来连接SQL Server:
public class Connection
{
private SqlConnection conn;
private static Connection myConnection;
private Connection()
{
try
{
conn = new SqlConnection("Data Source=.;Initial Catalog=Padideh;Integrated Security=True");
conn.Open();
}
catch (Exception ex)
{
new ErrorHandler().ErrorLoging("", "Connection", ex.Message, "Cannt Connect To DB.");
}
}
public static SqlConnection GetConnection
{
get
{
if (myConnection == null || myConnection.conn.State==System.Data.ConnectionState.Closed)
{
myConnection = new Connection();
}
return myConnection.conn;
}
}
~Connection()
{
try
{
myConnection.conn.Close();
}
catch (Exception ex)
{
new ErrorHandler().ErrorLoging("", "~Connection", ex.Message, "Cannt Close DB Connection.");
}
}
}
这是一个单例类,我使用sqlConnection,我总是使用这个类连接到SQLserver,我想知道它是一个好方法,我可以在每个项目中使用它?什么是连接数据库的好习惯?
答案 0 :(得分:4)
我不如图所示创建单身。
只需为每个使用情境创建一个新连接 ,使用using
可以更轻松地处理IDisposable性质,并依赖Connection Pooling - 已经处理了适当的细节。
总的来说,我认为单独使用单例会使连接处理 - 即使没有线程化 - 整体更难,没有/最小增益。
虽然我做提倡使用DI / IoC(虽然一个简单的静态帮助方法可以在紧要关头),但这应该用于获取 new 连接每个使用上下文(或适当的生命周期),在完成后立即处理。