我想知道什么是Microsoft.Practices.EnterpriseLibrary.Data.dll以及我们为什么要使用这个程序集。
这个dll有什么好处?
我想在三层架构上创建一个项目,我很好奇执行sql查询的最佳方式是什么。
我是应该使用这个动态链接库,还是应该使用简单的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。
发布于 2013-01-19 19:39:46
Microsoft.Practices.EnterpriseLibrary.Data库的主要优点是,它使生成数据库无关的代码变得更容易。开发人员主要与更通用的数据库vs SqlConnection和DbCommand vs Oracle对象进行交互,从理论上讲,将底层数据库从SqlCommand切换到Oracle的机制变得更加容易。尽管在我的开发经验中,我从未见过这种情况发生。
Microsoft.Practices.EnterpriseLibrary.Data还指导开发人员使用DbParameter作为查询参数,这降低了SQL注入攻击的风险。
Microsoft.Practices.EnterpriseLibrary.Data是核心ADO .Net结构的更高抽象,使开发人员能够用最少的代码完成相同的任务。
如果您正在学习数据访问策略,我建议您继续学习ADO .Net,您对基础知识了解得越多,使用Microsoft.Practices.EnterpriseLibrary.Data或实体框架或NHibernate就越有用,因为您了解了基础知识,因为这些技术都是建立在ADO .Net之上的。
https://stackoverflow.com/questions/14413514
复制相似问题