码迷,mamicode.com
首页 > 其他好文 > 详细

EntityFramework 性能简单测试

时间:2015-03-16 16:02:17      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

EntityFramework 的便捷不多阐述, 就他的性能来测试了下  不做评论,   缓存机制确实还不错  ....

      简单的查询一条数据

技术分享
 1         public static IM_CallRecord GetEFData()
 2         {
 3             using (ModelContainer mv = new ModelContainer())
 4             {
 5                 return (from c in mv.IM_CallRecord where c.id == 12356 select c).SingleOrDefault<IM_CallRecord>();
 6             }
 7         }
 8 
 9         static void Main(string[] args)
10         {
11             Console.WriteLine("从230万条数据取一条数据");
12             //=================常规SQL===================
13             var beginTime = DateTime.Now;
14             com.infusionmanage.model.impl.IM_CallRecordDAOImpl im = new com.infusionmanage.model.impl.IM_CallRecordDAOImpl();
15             im.findByPage(12356, 1);
16             var endTime = DateTime.Now;
17             Console.WriteLine("---常规SQL----耗时:" + (beginTime - endTime).ToString());
18 
19             //=================EF框架=====================
20             beginTime = DateTime.Now;
21             GetEFData();
22             endTime = DateTime.Now;
23             Console.WriteLine("从EF框架第一次耗时:" + (beginTime - endTime).ToString());
24 
25             beginTime = DateTime.Now;
26             GetEFData();
27             endTime = DateTime.Now;
28             Console.WriteLine("从EF框架第二次耗时:" + (beginTime - endTime).ToString());
29 
30             Console.ReadKey();
31         }
View Code

技术分享

高层视图:
改变在现有系统使用EntityFramework并使其正常工作最好的理由是什么?

• All -in-1框架的类映射表,需要编写映射代码, 并且是很难维护的。 
• 可维护性,易于理解的代码,无需创造大的数据访问层。 
• 提供LINQ查询数据库,这需要从初级开发人员不太了解SQL。 
• EF可以用作用于数据服务和OData Service的基础设施。
什么的情况下,不建议使用EF呢:

• 实时的应用程序。 
• 只能通过存储过程访问数据库。 EF的优势是:跟踪实体状态Change时,不仅仅在存储过程上.(即使EF确实对存储过程支持有限的)。 
• 频繁插入操作(Insert),  并且EF不支持大数据Bulk 插入。 
• 频繁更新操作,更新的目标主要是当多行(用一个单值) 
   例如:UPDATE 表名 SET ColumA = 10 Where ColumnB =? 
   这种更新操作更好的使用的ExecuteNonQuery(也可从Context上下文或直接从Ado.Net)。 
• 反范式的表设计和高性能查询。 EF产生查询,他们是难以维护的,它并不能很好地支持映射到不规范的表。
• 对程序有非常的性能要求, 需要对每个查询进行监控.

 

EntityFramework 性能简单测试

标签:

原文地址:http://www.cnblogs.com/bivozeou/p/4341782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!