关于IEnumerable和IQueryable的区别,这事还要从泛型委托Func<T>说起.来看一个简单的泛型委托例子: class Program { static void Main(string[] args) { Func<int, bool> f = i => i > 5; Console.WriteLine(f(3)); Console.WriteLine(f(10)); Console.ReadKey(); } } Func<T>是"…
最近在调研数据库查询时因使用IEnumerable进行Linq to entity的操作,造成数据库访问缓慢.此文讲述的便是IEnumerable和IQueryable的区别. 微软对IEnumerable的定义使用场景为Linq to Object,也就是涉及到内存操作时使用.而对IQueryable的定义使用场景为Linq to SQL(Entity). 因此,在执行Linq to SQL(Entity)的操作时,如果使用IEnumerable则会造成全表查询.如下图Code: 如此,在SQ…