AsEnumerable()
将一个序列向上转换为一个IEnumerable,延时执行,不构建不用的中间结果,在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了。 Linq to object。
常用于从任何IQueryable切换到Linq To objects。但不能滥用,容易出现冗余数据。
AsQueryable()
将一个序列向下转换为一个IQueryable,生成了一个本地查询的包装,LINQ TO SQL(方法表达式翻译成T-SQL语句之后最后再向SQL服务器发送命令),查询比较高效。
常用于使可枚举集合接受LINQ语句的表达式。
ToList()
立即执行,查询结果加载到到内存中,断开数据库连接。
常用于转换IEnumerable