和传统的ADO.NET相比,EF(Entity Framework)如何?

ximomomoxinei33 2012-03-05 09:32:39
请教坛子里的高手,现有的OA系统是三层构架 DAL BLL UI Models Common

对数据库操作基本都是sql语句(写在DAL层中),
现打算改成EF方式去重写,希望高手说说是否可行,以及两者的优缺点对比。

还有个问题,现在系统是winform模式,听领导提到以后可能会改成asp.net版本。会加入一层web服务,希望做过web服务相关项目的高手谈一谈自己的理解,多谢了!!!!
...全文
4774 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ximomomoxinei39 2012-03-13
  • 打赏
  • 举报
回复
顶哈!!高手谈谈心得!!
cjh200102 2012-03-12
  • 打赏
  • 举报
回复
各自都有方便之处,关键是看项目选择了
ximomomoxinei39 2012-03-12
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 nonocast 的回复:]

引用 13 楼 ximomomoxinei39 的回复:

OMG 这个话题木人气啊? 不应该呀?


月经贴
[/Quote]
C#和java哪个更好呢?
ximomomoxinei39 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lokily 的回复:]

曾经评估过EF的应用,当时微软还没有正式推出它,但最终放弃了。不是说它不好,它只是使对数据库的编码更符合面向对象的编程的方式,这中ORM技术是在提高开发效率,并不是提高运行效率,或者说是对多数据库的支持要比手工SQL对多数据库的支持要方便一些,但不是绝对,在我们的某个项目上,后来采用了NHibernate,基于组员对Hibernate的熟悉程度,更方便接受一些。简单理解就是,采用ORM的方式,对……
[/Quote]
看来 EF想优化确实没有SQL语句直接操控来的容易!
nonocast 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ximomomoxinei39 的回复:]

OMG 这个话题木人气啊? 不应该呀?
[/Quote]

月经贴
qiume 2012-03-09
  • 打赏
  • 举报
回复
封装和原生......
欢乐的小猪 2012-03-09
  • 打赏
  • 举报
回复
EF用起来真的太简单方便了,建好相应的类就自动创建数据库
ximomomoxinei39 2012-03-08
  • 打赏
  • 举报
回复
OMG 这个话题木人气啊? 不应该呀?
知擎物联 2012-03-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lokily 的回复:]
曾经评估过EF的应用,当时微软还没有正式推出它,但最终放弃了。不是说它不好,它只是使对数据库的编码更符合面向对象的编程的方式,这中ORM技术是在提高开发效率,并不是提高运行效率,或者说是对多数据库的支持要比手工SQL对多数据库的支持要方便一些,但不是绝对,在我们的某个项目上,后来采用了NHibernate,基于组员对Hibernate的熟悉程度,更方便接受一些。简单理解就是,采用ORM的方式,对于……
[/Quote]
本来还想学习下的,看了下,确实不是特别大的项目用了没意义啊。
ximomomoxinei33 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lokily 的回复:]

曾经评估过EF的应用,当时微软还没有正式推出它,但最终放弃了。不是说它不好,它只是使对数据库的编码更符合面向对象的编程的方式,这中ORM技术是在提高开发效率,并不是提高运行效率,或者说是对多数据库的支持要比手工SQL对多数据库的支持要方便一些,但不是绝对,在我们的某个项目上,后来采用了NHibernate,基于组员对Hibernate的熟悉程度,更方便接受一些。简单理解就是,采用ORM的方式,对……
[/Quote]
说的挺细 顶了!!!
lokily 2012-03-06
  • 打赏
  • 举报
回复
曾经评估过EF的应用,当时微软还没有正式推出它,但最终放弃了。不是说它不好,它只是使对数据库的编码更符合面向对象的编程的方式,这中ORM技术是在提高开发效率,并不是提高运行效率,或者说是对多数据库的支持要比手工SQL对多数据库的支持要方便一些,但不是绝对,在我们的某个项目上,后来采用了NHibernate,基于组员对Hibernate的熟悉程度,更方便接受一些。简单理解就是,采用ORM的方式,对于普通的CRUD操作,可以视同隔离了SQL语句,对于不熟悉多种SQL的开发人员来说,是比较惬意的事情,如果项目本身不大,且没有多数据库支持,对orm的使用其实也就那么回事了。还有就是,如果后期维护中,涉及到SQL优化的时候,又偏偏涉及到SQL 语句拼写的优化时,手工SQL反而更好调整,因为在ORM下的SQL是框架生成的,要想改sql,得改程序,这动静就不小了而且危险性要大了,当然,也可以让ORM直接执行原生SQL,但还是要改程序。还有一点,数据库结构的变化,导致EF Entity 的变化,也比较麻烦,有人说,数据库结构还能总变?这个。。。还真的总会碰到的
ximomomoxinei33 2012-03-06
  • 打赏
  • 举报
回复
继续等答案!用过的朋友讲讲啊
小茶杯 2012-03-05
  • 打赏
  • 举报
回复
EF要是做大项目的话还行。。。他的处理数据比较相对。。。处理100条数据和处理1000条数据速度差不多的。。
数据巨量小的话。还是不适合用的。。但是大部分好想用EF的话都是ORACLE。。
mizuho_2006 2012-03-05
  • 打赏
  • 举报
回复
EF挺好用的,但如果是ORACLE数据库需要下插件才支持。LINQ to Sql也是只支持Sqlserver。也可以选NHibernate,大型项目中用的比较多,比较流行的ORM模型。
cnwin 2012-03-05
  • 打赏
  • 举报
回复
是啊,实体模型性能上肯定要损失些。当然也带来了一些便利,比如不必关心如何访问数据库了。
nonocast 2012-03-05
  • 打赏
  • 举报
回复
关键是方便
小茶杯 2012-03-05
  • 打赏
  • 举报
回复
实体模型感觉。。处理数据慢一些,但是使用方便。。SQL快。。。
  • 打赏
  • 举报
回复
我是菜鸟,按照我的理解,三层架构低耦合,那么你换UI,就是换把原来的winform换成web,SQL写好了继续用,改改多麻烦,winform也留着。
ximomomoxinei39 2012-03-05
  • 打赏
  • 举报
回复
顶了 希望高手继续回答!
net_friends 2012-03-05
  • 打赏
  • 举报
回复
如果希望用.net 开放数据访问层,那么你可以查查看 ADO.NET Data Service

直接使用 WCF 开放 OData 数据协议。

http://blog.csdn.net/fangxinggood/article/details/6378106
加载更多回复(1)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧