关于ado.net:旧式SQL DB访问与ORM(NHibernate,EF等)。谁赢?

关于ado.net:旧式SQL DB访问与ORM(NHibernate,EF等)。谁赢?

Old-school SQL DB access versus ORM (NHibernate, EF, et al). Who wins?

我成功地编写了自己的SQL访问代码,该代码结合了存储过程和参数化查询以及为减少ADO.NET垃圾而编写的一个小型包装库。过去,这一切对我来说都很有效,而且我的工作效率很高。

我要进入一个新项目-我应该把我以前的学校知识放在后面,然后研究基于ORM的解决方案吗? (我知道NHibernate和EF之间有很多高概念上的区别,我不想在这里讨论。为了争辩,我们甚至将LINQ与传统的替代方法放在一起。)我正在寻找关于我所知道的(并且非常了解)ORM类型东西在现实世界中的应用的建议。

老式ADO.NET代码或ORM?我确定有一条曲线-曲线是否具有使事情有价值的投资回报率?我很着急,愿意学习,但是有最后期限。


我发现在对代码进行原型设计时,LINQ to SQL快得多。当我现在需要一些东西时,它会吹掉其他任何方法。

但是要付出代价。与手动存储的过程相比,LINQ速度较慢。尤其是如果您不太谨慎,看似微小的更改可能突然变成1 N个查询。

我的推荐。首先使用LINQ to SQL,然后如果无法获得所需的性能,则使用swtich进行处理。


一个好问题,但一个很有争议的话题。

几年前Frans Bouma的这篇博客文章引用了动态SQL(暗示ORM)优于存储过程的优点,引发了激烈的火焰战争。


在蒙特利尔的DevTeach上对此主题进行了精彩的讨论。如果您访问以下URL:http://www.dotnetrocks.com/default.aspx?showNum=240,您将能够听到该领域的两位专家(Ted Neward和Oren Eini)讨论每种方法的优缺点。 。对于没有真正确定答案的主题,可能会找到最好的答案。


推荐阅读

    linux查询ip命令?

    linux查询ip命令?,地址,网络,信息,设备,系统,电脑,终端,命令,中心,技术指标,l

    linux日志命令查询?

    linux日志命令查询?,系统,名称,信息,实时,电脑,对比,最新,日志,命令,环境,Lin

    linux文本查询命令?

    linux文本查询命令?,标准,命令,文件,工具,数据,信息,位置,系统,内容,文本,Lin

    查询linux的命令历史?

    查询linux的命令历史?,信息,系统,名称,地址,服务,命令,数据,环境,指令,用户,

    linux线程查询命令?

    linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Lin

    linux命令左右查询?

    linux命令左右查询?,系统,信息,管理,地址,工作,命令,文件,单位,位置,数据,lin

    linux简单查询命令?

    linux简单查询命令?,地址,命令,信息,设备,电脑,系统,工作,文件,终端,内容,Lin

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    linux命令查询时间?

    linux命令查询时间?,时间,系统,状态,信息,数据,标准,地址,平台,环境,命令,在w

    linux查询翻页命令?

    linux查询翻页命令?,工作,地址,系统,信息,命令,工具,目录,管理,暂停,标准,Lin

    查询linux上调度命令?

    查询linux上调度命令?,系统,策略,实时,信息,状态,时间,进程,电脑,报告,分析,L

    linux查询网关命令?

    linux查询网关命令?,网络,信息,地址,环境,系统,网关,名字,中心,状态,命令,lin

    linux命令查询参数?

    linux命令查询参数?,网络,信息,设备,系统,服务,状态,情况,工作,地址,命令,Lin

    linux查询硬盘命令行?

    linux查询硬盘命令行?,情况,系统,信息,工具,单位,软件,命令,服务,电脑,分析,

    linux查询分辨率命令?

    linux查询分辨率命令?,情况,设备,系统,分辨率,数据,命令,屏幕,屏幕分辨率,

    linux常用命令查询?

    linux常用命令查询?,工作,地址,系统,信息,命令,目录,管理,标准,常用命令,控

    linux命令查询汉语?

    linux命令查询汉语?,工作,地址,系统,信息,命令,目录,标准,状态,软件,亚洲,基

    linux下查询历史命令?

    linux下查询历史命令?,地址,信息,系统,服务,数据,连续,命令,数字,名称,环境,l

    linux查询表结构命令?

    linux查询表结构命令?,系统,标准,信息,数据,地址,设备,时间,适当,软件,命令,l