我想知道什么Microsoft.Practices.EnterpriseLibrary.Data.dll
是以及为什么我们使用这个组件。
这个dll有什么好处呢?
我想在 3 层架构上创建一个项目,并且很好奇执行 sql 查询的最佳方法是什么。
我是否应该使用这个 dll 还是选择简单的SqlCommand
and 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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)