每日一题:IEnumerable和IQueryable区别?在 .NET 中,IEnumerable 和 IQueryable 有什么区别?为什么在 EF Core 中随便调用 ToList() 可能带来性能问题? 参考答案 IEnumerable 是面向内存集合的接口,数据已经加载到本地,LINQ 操作由 CLR 在内存中执行; IQueryable 是面向数据源的接口,表达式树会被翻译成 SQL 或其他查询语言,在数据库端执行。 在 EF Core 中,如果提前调用 ToList(),会导致查询立即执行并加载所有数据到内存,之后的筛选、排序、分页都在内存中完成