[英]Best practice for Connection String Object
我的應用程序中有兩種methods
可以調用兩個不同的SPs
。
public List<Products> GetProducts(string productName, string productCode)
{
SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["CatalogueConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);
.....
}
我在同一個類中也有另一個方法,該方法再次創建了SqlConnection
對象。 所以我的問題是創建connection
對象的最佳實踐應該是什么,這樣我就不必在每種方法中都一次又一次地Create
它。 為每種方法創建連接對象是一種好習慣嗎?
我通常只有一個類似於以下內容的全局靜態變量:
public static class MyCachedSettings
{
public static string ConnectionString =
ConfigurationManager.ConnectionStrings["CatalogueConnectionString" ].ConnectionString;
public static SqlConnection Connection = new SqlConnection(ConnectionString);
}
然后使用它:
public List<Products> GetProducts(string productName, string productCode)
{
SqlConnection sqlconn = new SqlConnection(MyCachedSettings.ConnectionString);
SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);
.....
}
您應該創建一些類或方法來處理如何執行對數據庫的命令。 在這種情況下,我使用static允許所有人使用它而無需重新創建新實例。 ParamsInfo是DTO類,用於存儲名稱和param對象的值。
防爆。
public static DataSet ExecuteDataSet(string connectionString, string storedProcedure, params ParamsInfo[] params)
{ ... }
並讓它為您處理一切。
public List<Products> GetProducts(SqlConnection sqlconn, string productName, string productCode)
{
SqlCommand cmd = new SqlCommand("usp_Get_Products", sqlconn);
}
SqlConnection sqlconn = new SqlConnection("");
sqlconn.Open();
GetProducts(sqlconn, "productName", "code");
GetProducts1(sqlconn, "productName", "code");
sqlconn.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.