linq - 我应该使用 .ToList().Distinct() 还是 .Distinct().ToList()?

标签 linq

说到性能,我应该使用 .ToList().Distinct() 还是 .Distinct().ToList()

两种扩展方法是否生成相同的 SQL 查询?

看起来第二种方法应该表现更好,但这是真的吗?

使用其中一种相对于另一种有什么优点或缺点吗?

最佳答案

简短回答: .Distinct().ToList()

解释:

ToList :它转换IEnumerable<T>List<T> ,叫做Immediate execution 。所以你应该先过滤DB Server中的所有数据,而不是获取所有数据然后Distinct"client-side"

关于linq - 我应该使用 .ToList().Distinct() 还是 .Distinct().ToList()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60597529/

相关文章:

c# - Entity Framework - Linq - 比较可空对象 - NotSupportedException

c# - 从列表集合中删除一个项目

c# - 他们有什么好的方法可以通过.NET 中的 C# 生成 XML 文件吗?

c# - OrderBy Linq 的奇怪行为

c# - LINQ- Max where 条件

c# - 如何在 linq-to-Nhibernate 中使用多个条件连接

c# - Entity Framework 4.1 Linq Contains 和 StartsWith

c# - 如何从偶尔发出非常慢请求的 IEnumerable 中有效地跳过项目?

c# - 通过 linq 比较无值

asp.net-mvc - 至少包含 Entity Framework 中的所有内容