gpt4 book ai didi

.net - 如何在 LINQ 中快速加载整个 SQL 表?

转载 作者:行者123 更新时间:2023-12-04 07:10:34 25 4
gpt4 key购买 nike

编写我的第一个 Linq 应用程序,我正在尝试找到执行以下操作的最佳方法:

我想一次加载整个员工表以填充缓存(用于表单自动完成)。

我可以 -

var query = from employee in db.Employees select employee;
foreach (Employee e in query)
{
...
}

但由于这是延迟加载,它会为每个员工生成一个查询。我怎样才能急切地加载整个表格?

我查看了 DataLoadOptions但这似乎只适用于人际关系。

最佳答案

var query = db.Employees.ToList();

顺便说一下,这相当于:
var query = (from employee in db.Employees select employee).ToList();

当 lambda 语法更有意义且更短时,没有理由强制自己使用查询运算符语法。

旁注1: query的类型对象将是 List<Employee>但是,如果我们明确指定,则生成的 IL 和性能方面没有区别。

旁注 2:重要的是要知道问题中指定的查询不是每个员工执行一次。它只执行一次,并从数据库中一一获取(类似于运行 SqlDataReader 查询的 SELECT * FROM Employees 对象)。然而, ToList()加载列表中的所有行,以便在应用程序本身而不是 SQL Server 上执行对该对象的进一步查询。

关于.net - 如何在 LINQ 中快速加载整个 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451006/

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