gpt4 book ai didi

c# - MoreLinq maxBy 与 LINQ max + where

转载 作者:太空狗 更新时间:2023-10-29 22:37:43 26 4
gpt4 key购买 nike

我正在使用带有 MoreLinq 扩展的 EF5,在生产环境(非常大的数据库)中测试我的程序时,我发现了这一行:

var x = db.TheBigTable.MaxBy(x => x.RecordTime);

需要很长时间(RecordTime 是一个非索引的datetime)

是不是因为 MaxBy 总是在客户端运行(并首先从数据库中获取所有记录)?

最佳答案

这是the MaxBy extension method的签名:

public static TSource MaxBy<TSource, TKey>(this IEnumerable<TSource> source,
Func<TSource, TKey> selector)
{
return source.MaxBy(selector, Comparer<TKey>.Default);
}

它返回 IEnumerable<T> 的最大元素(基于给定的投影) ,不是 IQueryable<T> .所以查询的结果db.TheBigTable确实都是先加载到内存,然后迭代寻找最大值。

关于c# - MoreLinq maxBy 与 LINQ max + where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19484563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com