首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Microsoft.Practices.EnterpriseLibrary.Data

什么是Microsoft.Practices.EnterpriseLibrary.Data
EN

Stack Overflow用户
提问于 2013-01-19 18:45:18
回答 1查看 17.3K关注 0票数 12

我想知道什么是Microsoft.Practices.EnterpriseLibrary.Data.dll以及我们为什么要使用这个程序集。

这个dll有什么好处?

我想在三层架构上创建一个项目,我很好奇执行sql查询的最佳方式是什么。

我是应该使用这个动态链接库,还是应该使用简单的SqlCommandDataAdapter。目前我是这样工作的:( DAL文件中的代码:)

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 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之上的。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14413514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档