"IQueryable and IEnumerable"区别
2016-10-04 07:21
423 查看
Answer:
"IQueryable" 有延时加载机制;而且从数据库中筛选数据;
IEnumerable 从数据库中选择所有的数据,在内存中做筛选
var 默认等效于IEnumerable
C#范例代码:
"IQueryable" 有延时加载机制;而且从数据库中筛选数据;
IEnumerable 从数据库中选择所有的数据,在内存中做筛选
var 默认等效于IEnumerable
C#范例代码:
class Program { static void Main(string[] args) { List<int> ints = new List<int>(); for (int i = 0; i < 1000; i++) { ints.Add(i); } // 延时加载,在数据库中筛选; //lazy loading, filter from database IQueryable<int> query1 = (from c in ints where c > 50 select c).AsQueryable(); var res1 = query1.Where(r => r > 50); // 立即加载,同时,在内存中筛选 // filter in memory IEnumerable<int> query2 = from c in ints where c > 50 select c; var res2 = query2.Where(r => r > 50); // 默认是IEnumerable // default is IEnumerable var query3 = from c in ints where c > 50 select c; var res3 = query3.Where(r => r > 50); } }
相关文章推荐
- LINQ : IEnumerable<T> and IQueryable<T>区别
- "网管师"与"网管员"和"网络工程师"的区别 推荐
- 聚沙成塔 - 宏定义中的 "#" 和 "##" 的区别
- "<br />"和 "\r\n" 这两者有什么区别??
- "error: device not found" and "error:device offline"
- "Argument list too long": Beyond Arguments and Limitations
- string类型的" "、String.Empty、null三者间的区别
- "<br />"和 "\r\n" 这两者有什么区别??
- The difference between "can" and "be able to"
- asp.net Linq和泛型,IEnumerable和IQueryable之间的区别,Lambda表达式,Linq to Sql停止开发转为 Entity Framework
- "==" 和 equals方法的区别
- "<br />"和 "\r\n" 这两者有什么区别??
- VS中"新建网站"与"新建项目"的区别
- IQueryable与IEnumberable的区别
- 宏定义中的 "#" 和 "##" 的区别
- VS中"新建网站"与"新建项目"的区别
- Visual Studio中“生成”与“重新生成”的区别(The difference between "build" and "rebuild")
- const char *p" 和 "char * const p" 有何区别
- "==" 与"equals() 的区别:
- "msiexec.exe has encountered a problem and needs to close" "msiexec.exe 遇到问题需要关闭"