首页 新闻 会员 周边 捐助

entity framework6适合开发大数据量系统吗?为什么?

0
悬赏园豆:15 [待解决问题]

entity framework6适合开发大数据量系统吗?为什么?

kaynet的主页 kaynet | 初学一级 | 园豆:83
提问于:2014-12-12 16:24
< >
分享
所有回答(10)
1

跟框架关系不是很大,相比来说.你的技术水平对性能的影响更大

吴瑞祥 | 园豆:29449 (高人七级) | 2014-12-12 16:26
0

不能同意楼上更多。

听说这话快被广电禁止使用了,趁现在还能用赶紧用,不明觉厉...

爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-12 16:33

什么意思啊?广电总局???

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2014-12-12 17:44
0

反正不用EF,我可以节约两台服务器

[秦时明月] | 园豆:738 (小虾三级) | 2014-12-12 17:37
0

在用之前,你可以先测测ef的性能,我之前测试过,ef的耗时是ado的2倍,所以如果你的系统对性能要求很高,不推荐你用,还是用ado好

xmj112288 | 园豆:126 (初学一级) | 2014-12-12 17:50

你觉得微软会研发一个比ado还慢的产品吗?有意义?

默认的情况下,手次加载有一点点慢,预热过后就相当快,也可以在发布前先预热,速度要比传统的ado快很多。

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 17:57

@anech: 你知道ef是为了什么来设计的吗? 建议你先去了解下ef再说吧

支持(0) 反对(0) xmj112288 | 园豆:126 (初学一级) | 2014-12-12 18:03

@2727551894: ..

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 18:06

@anech: http://www.cnblogs.com/by1990/archive/2010/11/25/1887794.html 这篇帖子虽然比较老了,但足够说明ef的性能问题,ef主要是封装了数据库操作,所以开发人员可以将重心放在程序设计上不用关注数据库。

还有一点我要说的,很多东西建议你自己先测试过了再来说。而不是想当然

支持(0) 反对(0) xmj112288 | 园豆:126 (初学一级) | 2014-12-12 18:12

@2727551894: http://www.asp.net/entity-framework 我都是在这里面学的,比较权威,有空你去看看

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 18:14

@anech: 不和你扯皮了,ef有性能问题,这在园子里是有共识的,只是ef带来的快速开发足以掩盖他的性能问题,ef反正我是不用的,所以我就不看了。

支持(0) 反对(0) xmj112288 | 园豆:126 (初学一级) | 2014-12-12 18:22

@anech: 

哈哈,据我所知,微软的新技术大部分都比旧技术慢。

比如window之于dos

ado.net之于ado

c#之于c++

Wcf之于socket

....

太多不能一一尽列

支持(1) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-12 18:26

@2727551894: 虽然不支持你,不过另外那家伙更扯。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-12 18:29

@爱编程的大叔:你的说明太笼统了,比如:C#比C++更高级,C++是更低级的语言,C++性能肯定好麻。

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 18:31

@爱编程的大叔: 你列举的问题就好比 静态页面和动态页面快慢的问题,不是废话麻

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 18:36

@爱编程的大叔: window和dos,window提供了那么多界面和体验,dos那么纯净,肯定后者快麻

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 18:38

@anech: 别生气。想了一下,我说的不准确。

你们两个不能拿来对比。

一个因噎废食。

一个则是道听途说,关键还不明白EF和ADO.NET两者的关系。

不过没事,不明白这个好过不用。

这么一比较,还是他扯一点。你这个是小问题,呵呵!

 

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-12 19:48

@爱编程的大叔: 我没生气,我只是说的太直接了

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 19:50

@爱编程的大叔: 就事论事,你还评论起人了哦,没事多去www.asp.net上边爬爬

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 19:53

@anech: asp.net全是英文,看不懂啊。

讲一个故事,话说以前有个送快递的,名叫刘强东,送起快递来特别快,大家都叫他东哥。

后来为了管理方便,投资成立了一家快递公司,还叫这个送快递的负责送。

再后来,有人告诉我,这家快递公司送起快递来,比这个快递员快多了。

我在琢磨这事请靠不靠谱,要不要请两个数学家用微积分帮我算一算。

 

故事原文是英文的,我请人帮我翻译的,也不知道对不对,你帮忙看看?

出自MSDN,微软对所投资的快递公司介绍
Entity Framework Overview
The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data. The data may span multiple storage systems, each with its own protocols; even applications that work with a single storage system must balance the requirements of the storage system against the requirements of writing efficient and maintainable application code.

以下文字出处StackOverflow
First, EF is built on top of using ADO.NET. This means that everthing EF does, add more overhead to whatever ADO would do. Second (very) simply put, the JIT compiler compiles the code for the first time just when it is executed. This includes memory allocation and all sorts of initializations.

下面是另外一个同样没有文化的人在StackOverflow上瞎扯的
  1. First time EF loads metadata into memory, that takes a time. It builds in-memory representation of model from edmx file, or from source code if you are using code first. Actually EF is build at the top of ADO.NET, so it can't be faster. But it makes development much faster. And improves maintainability of your code.

对了,据说EF的全名是ADO.NET Entity Framework ,听说翻译成中文是“刘强东国际快递有限公司”。

支持(1) 反对(1) 爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-13 09:44
0

官方文档上是这样说的,200张表以下表现比较好,200张以上要预先生成map才行,总的来说没问题的

anech | 园豆:92 (初学一级) | 2014-12-12 17:55

其实我就一个问题,如果程序涉及到存储过程code first就很low了,再来个视图就更low了

支持(0) 反对(0) Y2zz | 园豆:393 (菜鸟二级) | 2014-12-12 20:15

@Y2zz: EF7 就只支持code first了,已经去掉了其它2种方式, 其实影响不大,因为sql执行过一次之后,就会被缓存起来了,在实际的应用中还得根据实践情况进行一些调整,比如说减少导航属性,取消实体跟踪,使用异步,关闭实体验证等

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-12 20:20

@Y2zz: 总之框架的死的,人是活的,具体情况具体分析处理。你也可以用nhibernate

支持(0) 反对(0) anech | 园豆:92 (初学一级) | 2014-12-13 11:04
0

跟数据量关系不大,关键是你系统的类型,是连表多呢还是单表多呢~对于连表多的查询系统,不太建议用EF,如果是单表多的话,使用ORM的效果就很好了。

BTW:一般来说,EF的性能损耗真的不是99%系统的关注点

幻天芒 | 园豆:37205 (高人七级) | 2014-12-13 08:45

很多人就是不明白这一点。

话说富士康加工一部IPhone,工钱是4美刀,请问如果有一个逆天公司出现,加工一部Iphone只需要0.004美刀,请问Iphone可以降价至现价的千分之一吗?

现价是600美刀,降价后只要0.6美刀,同志们,幸福的日子就要到来了。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2014-12-13 09:53

@爱编程的大叔: 生产力+性能找到平衡点。

支持(3) 反对(1) 幻天芒 | 园豆:37205 (高人七级) | 2014-12-13 10:55
0

确实有性能问题,你得测测,百万级以下的的表查询应该不是很明显。但比起直接使用SQL差距不是一点点。

空明流光 | 园豆:111 (初学一级) | 2014-12-16 13:02
0

这帖子太有意思了

算了 | 园豆:3 (初学一级) | 2014-12-16 21:40
0

ef大法好!保平安,促和谐。

wukaixian | 园豆:160 (初学一级) | 2014-12-19 17:03
1

不要总想着我比微软聪明

Ninesky后援会粉丝团 | 园豆:202 (菜鸟二级) | 2016-12-10 06:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册