代码改变世界

随笔档案-2012年01月

where 泛型类型约束 default 关键字

2012-01-11 22:27 by 陈常清, 239 阅读, 收藏,
摘要: 首先我们来看一下泛型的基本概念: 最显著的一点就是它参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型安全,更高的效率,不过在约束方面,它只支持显示的约束,这样在灵活性方面就显得不是那么好了.我觉得它之所以能够提供更高的效率是因为泛型在实例化的时候采用了"on-demand"的模式,即按需实例化,发生在JIT(Just In Time)编译时. 下面来看如何定义一个泛型类,很简单,你只需要意识到一点,在这里,类型已经被参数化了:using System;using System.Collections.Gen 阅读全文

NHibernate与Entity Framework性能比较

2012-01-10 22:33 by 陈常清, 690 阅读, 收藏,
摘要: 对NHibernate与EF的性能做了简单的测试测试环境:Win7 64bit, NHibernate 3.2, Entity Framework 4.0结果如下:1. 条件查询:NHibernate略优于EF Linq2. 根据主键查找对象: HHibernate大大优于EF Linq,当使用eager loading获取关联对象时尤甚3. 使用compiled(预编译)Linq可以大大提高EF的性能,特别当查询条件比较复杂的时候。以下数据均为每秒钟可执行操作的次数(more is better)1. 条件查询Where 1Where 1 OrderByWhere (1&2) Ord 阅读全文

ado.net entity framework 查询性能比较

2012-01-10 22:25 by 陈常清, 287 阅读, 收藏,
摘要: 关于ado.net entity framework 性能比较网上也有很多,这里我只是初步的介绍下ado.net entity framework使用不同的方法查询数据的不同性能第一部分:重复查询单个实体第一种:Linq To Entitiess代码如下: static void Main(string[] args) { DateTime time1; DateTime time2; time1 = DateTime.Now; NorthwindEntities context = new NorthwindEntities(); for (int i = 0; i < 1000; i 阅读全文