gpt4 book ai didi

linq - 如何确定哪些 Linq 函数不会多次调用 sql?

转载 作者:行者123 更新时间:2023-12-04 23:24:59 25 4
gpt4 key购买 nike

            var costCenters = from c in dbContext.CostCenters //no sql call here
orderby c.DisplayRank descending
select c;


List<CostCenter> lstCostCenter = costCenters.ToList();//Immediate execution to sql the first time

lstCostCenter = costCenters.ToList();//no Sql call ??

int test = costCenters.Count();//Call Sql everytime
test = costCenters.Count();//Call Sql again???

我正在使用 Entity Framework 5

我开始学习 Linq。我真的很困惑哪些立即执行函数每次都会调用 SQL。正如您在上面的示例中看到的,ToList() 和 Count() 都是立即执行函数,但只有 Count() 会在子序列调用时连接到 sql。 ToList() 连接到 sql 1 次,但 Count() 每次都会连接到 Sql。
如何确定哪些 linq 函数不会多次调用 sql?

最佳答案

首先,ToList() 从不使用延迟执行。它总是立即实现信息。它不会每次都返回数据库,因为它已经获取了所有实体。

要知道哪些运营商做什么,只需看看 at this link .

关于linq - 如何确定哪些 Linq 函数不会多次调用 sql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238605/

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