簡體   English   中英

什么是 Microsoft.Practices.EnterpriseLibrary.Data

[英]what is Microsoft.Practices.EnterpriseLibrary.Data

我想知道Microsoft.Practices.EnterpriseLibrary.Data.dll是什么以及我們為什么使用這個程序集。

這個dll有什么好處?

我想在 3 層架構上創建一個項目,並且很好奇執行 sql 查詢的最佳方式是什么。

我是應該使用這個 dll 還是使用簡單的SqlCommandDataAdapter 目前我正在以這種方式工作:(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM