gpt4 book ai didi

c# - 如何加速 C#/Linq 查询? [我不需要获取数据,我需要获取条件]

转载 作者:行者123 更新时间:2023-11-30 13:26:01 34 4
gpt4 key购买 nike

    public int being = 0;
public void Insert(Currency current, int number)
{
being = db.Currency.Where(x => x.ForDate == current.ForDate)
.Where(x => x.TitleId == current.TitleId)
.Where(x => x.Value == current.Value).Count(x=>x.Id > 0);
if (being == 0)
{
db.Currency.AddOrUpdate(current);
}
}

这是我的代码运行如此缓慢的原因,因为获取日期但这不是必需的,我不知道其他方式。也许是这样的:

db.Currency.Find().Value.Equals(current.Value).where...where...

最佳答案

我认为你的主要问题是 .Count(x => x.Id > 0),它强制评估之前的所有条件并实际获得总数。

如果可以,请将其替换为Any。这样,它最多只需要一行:

bool isBeing = db.Currency
.Where(x => x.ForDate == current.ForDate
&& x.TitleId == current.TitleId
&& x.Value == current.Value
&& x.Id > 0
)
.Any();

关于c# - 如何加速 C#/Linq 查询? [我不需要获取数据,我需要获取条件],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34490588/

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