![](/img/trans.png)
[英]Microsoft.Practices.EnterpriseLibrary.Data compatibility with SQL Sever 2016
[英]what is Microsoft.Practices.EnterpriseLibrary.Data
我想知道Microsoft.Practices.EnterpriseLibrary.Data.dll
是什么以及我們為什么使用這個程序集。
這個dll有什么好處?
我想在 3 層架構上創建一個項目,並且很好奇執行 sql 查詢的最佳方式是什么。
我是應該使用這個 dll 還是使用簡單的SqlCommand
和DataAdapter
。 目前我正在以這種方式工作:(DAL 文件中的代碼:)
public void Insert(long id)
{
connection.Open();
SqlCommand dCmd = new SqlCommand("test_procedure", connection);
dCmd.CommandType = CommandType.StoredProcedure;
try
{
dCmd.Parameters.AddWithValue("@id", id);
dCmd.ExecuteNonQuery();
}
catch
{
throw;
}
finally
{
dCmd.Dispose();
connection.Close();
connection.Dispose();
}
}
我很困惑我是否以正確的方式工作,或者我是否應該更好地使用Microsoft.Practices.EnterpriseLibrary.Data
並使用DatabaseFactory
。
Microsoft.Practices.EnterpriseLibrary.Data 庫的主要優點是可以更輕松地生成與數據庫無關的代碼。 開發人員主要與更通用的 Database vs SqlConnection 和 DbCommand vs SqlCommand 對象交互,理論上將底層數據庫從 MSSQL 切換到 Oracle 的機制變得更容易一些。 盡管在我的開發經驗中,我從未見過這種情況發生。
Microsoft.Practices.EnterpriseLibrary.Data 還指導開發者使用 DbParameter 作為查詢參數,降低了 SQL 注入攻擊的風險。
Microsoft.Practices.EnterpriseLibrary.Data 是核心 ADO .Net 構造的更高抽象,使開發人員能夠以最少的代碼完成相同的任務。
如果您學習數據訪問策略,我建議您繼續使用 ADO .Net,您對基礎知識了解得越多,Microsoft.Practices.EnterpriseLibrary.Data 或實體框架或 NHibernate 就越有用,因為您了解基礎知識,因為這些技術是建立在基礎之上的ADO .Net。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.