IQueryable的底层运行
ADO.NET中有DataReader和DataTable两种读取数据库查询结果的方式。
DataTable是把所有的数据一次性的从数据库服务器加载到客户端内存中,而DataReader则会分批从数据库服务器读取数据到客户端内存中。
DataTable的优点是减少了对数据库连接的占用,缺点是会占用较多的客户端内存,在数据量大的时候有可能出现性能问题,DataReader则刚好相反。
IQueryable是用类似于DataReader的方式读取查询结果,其内部遍历就是调用DataReader进行数据读取。