gpt4 book ai didi

c# - 是否有比 .Any() 更快的方法来检查该条件?

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:58 24 4
gpt4 key购买 nike

我一直在寻找一种方法来使用更快的 EF 查询执行以下操作:

 using (DAL.MandatsDatas db = new DAL.MandatsDatas())
{
if(db.ARTICLE.Any( t => t.condition == condition))
oneArticle = db.ARTICLE.First( t => t.condition == condition);
}

它工作正常,但我添加的越多,感觉就越慢。看起来它遍历了所有行 2 次(我不知道是不是这样)

我一直在搜索,看到人们使用 count() > 0 和其他不相关的东西...

  1. 有没有更快的方法来检查某物是否存在然后取走它。

  2. 另外我想知道 FirstOrDefault() 是否可以帮助我的案例,它是如何工作的?

最佳答案

是的,FirstOrDefault 在这里更好:

oneArticle = db.ARTICLE.FirstOrDefault(t => t.condition == condition);

基本上 Any 会做一个选择,然后 First 会再做一个。而 FirstOrDefault 将执行与 First 相同的操作,如果没有输出则返回 null,从而无需运行另一个选择操作。

关于c# - 是否有比 .Any() 更快的方法来检查该条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33960673/

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