Entity Framework性能优化】的更多相关文章

浅析EF性能优化 1.       数据Load 延迟加载:当实体第一次读取时,相关数据没有加载:当第一次试图访问导航属性时,所需的导航数据自动加载,EF默认使用这种方式加载数据,尽量使用预先加载和显示加载. 优点:加载数据快 缺点:数据库交互多次 预先加载:当读取实体时,相关数据同时读取.这通常会导致一个连接查询,查询所有所需的数据,使用Include方法指定预先加载. 优点: 数据库交互少 缺点:加载实体多,数据量大时,变慢,会有很多冗余字段 显示加载:这种加载方式类似于延迟加载,不同的是我…
1.对象管理机制-复杂为更好的管理模型对象,EF提供了一套内部管理机制和跟踪对象的状态,保存对象一致性,使用方便,但是性能有所降低. 2.执行机制-高度封装在EF中,所有的查询表达式都会经过语法分析.解析SQL语句.然后调用底层的ADO.NET对象去执行,中间的这些环节导致性能有所降低. 3.SQL语句-低效EF采用映射机制将对象操作转换成SQL语句,SQL语句一般的基于标准模块生成的,不会进行特殊优化,和直接编写SQL语句操作数据库相比,效率会打折扣,复杂操作更为明显. 状态管理机制优化 As…
AsNonUnicode 执行如下语句,并用SqlProfiler监控其SQL: var list = WMFactory.ReChargeMobile.Queryable().Where(w => w.InterfaceId == guid && w.MsgId == "xxx") .Select(s => new { AgentId = s.AgentId, PackageName = s.PackageName }) .ToList(); 生成SQL如…
.NET Micro Framework的可剪裁性,高定执行,和天生对硬件高集成度都让它的前途一片光明.当然,它现在还很年轻,就发布的SDK v3.0来看,它还有很长的路要走. 废话不说,就这几个月我用下来的经验谈谈在针对.NET Micro Framework应用程序的性能优化吧. 1. 尽可能减少方法调用! 方法调用过于频繁对于性能的影响非常大,所以所有的优化都是以这个为大前提的. 2. 尽可能避免使用属性,而用公共域来代替. 因为编辑器会在编译的时候为每个属性的getter和setter添…
转自:http://www.cnblogs.com/jake1/archive/2013/04/25/3043664.html 我发现现在有不少博友,都反对使用EF框架,说它性能低.其实只要你用的好,性能不是问题,经过测试,它也会接近ado.net的访问了. 当然如果对EF不了解,随便乱用,确实会引来性能问题.因为EF的查询语句都是自己生成的.如果不注意,它会多次查询数据库,或用效率不高的语句去查询. 下面我就把我们在项目中遇到的问题,现我把他总结出来.以供大家参考.当然还有一些没有列出来的,希…
1.对象管理机制-复杂为更好的管理模型对象,EF提供了一套内部管理机制和跟踪对象的状态,保存对象一致性,使用方便,但是性能有所降低. 2.执行机制-高度封装在EF中,所有的查询表达式都会经过语法分析.解析SQL语句.然后调用底层的ADO.NET对象去执行,中间的这些环节导致性能有所降低. 3.SQL语句-低效EF采用映射机制将对象操作转换成SQL语句,SQL语句一般的基于标准模块生成的,不会进行特殊优化,和直接编写SQL语句操作数据库相比,效率会打折扣,复杂操作更为明显. 状态管理机制优化AsN…
在使用Entity Framework加载关联实体时,可以有三种方式: 1.懒加载(lazy Loading); 2.贪婪加载(eager loading); 3.显示加载(explicit loading). EF默认使用的是懒加载(lazy Loading).一切由EF自动处理. 这种方式会导致应用程序多次连接数据库,这种情况推荐在数据量较大的情况下使用.当我们需要加载数据较少时,一次性全部加载数据会相对更高效. 我们来看看EF的显示加载(explicit loading)如何让我们完全掌控…
1. LINQ  TO SQL  和EF 特点:  LINQ TO SQL和Entity Framework都是一种包含LINQ功能的ORM 也就是所谓的关系对象的映射.其中包括的有DBFrist  Code Frist    ModeL  Frist   三种中方式 来进行和数据库之间的访问.只是形式不同而已本质没有什么区别.都是ORM  之间的转化.最终都是来进行访问底层的数据库的对象 和服务. 简单来说LINQ是为了满足不知道怎么操作数据库的程序员开发设计的,LinQ 可以让他们以一种面向…
在博客园很久了,一直只看不说,这是发布本人的第一个博客. 总结一下在项目中,EntityFramework使用的一下经验拿来和大家分享,希望对大家有用~ 1.         在Entity Framework中使用事务 1) TransactionScope using (BlogDbContext context =new BlogDbContext()) { using (TransactionScope transaction =new TransactionScope()) { con…
2.7 深入理解Entity Framework 性能问题几乎是一切ORM框架的通病,对于EF来说,引起性能低的原因主要在以下几个方面. 复杂的对象管理机制为了在.NET中更好地管理模型对象,EF提供了一套内部机制管理和跟踪对象的状态,保持对象的一致性,带来方便的同时,降低了性能. 高度封装的执行机制 在EF应用中,编写的任何一个查询表达式都需要经过分析,解析成SQL语句,然后调用底层的ADO.NET Providers去执行.直接执行SQL语句相比,性能上有一定的降低. 低效的SQL语句 EF…