什么是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或Entity Framework或NHibernate就越有用,因为您了解基础知识,因为这些技术是建立在ADO .Net。