c# - 使用 linq 遍历大型数据库表

标签 c# sql-server linq

我有两个表:FooBar .对于 Foo 中的每一行, 我现在想在 Bar 中添加一行其中引用了相应的 Foo记录。 Foo可能包含数百万条记录。

通常这个答案是完美的:linq to sql - loop through table data and set value .但正如它所说的那样,使用以下行对于大型表格来说并不是特别理想。

List<User> users = dc.Users.ToList();

由于将整个表缓存在 List<> 中行不通,我还有什么其他选择?例如,是否有一种优雅的方式来“翻阅”记录?因为我很确定这是一个相对常见的问题,所以我认为这可能也有最佳实践。然而,我没能找到它。

最佳答案

你说的是几百万行数据,那么 Linq 不是你的 friend 。

考虑使用存储过程,或者,如果您愿意,可以考虑使用 DbContext.ExecuteCommand

两者都会带来巨大的性能提升。

关于c# - 使用 linq 遍历大型数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31990893/

相关文章:

c# - 无法从 Xamarin iOS SecKeychain 检索 GUID

from 子句中具有不同表的 SQL 更新语句

sql-server - 将物理目录中的图像移动到 sql server 图像类型

c# - 为什么 orderBy 不适用于此 linq 表达式?

c# - 如何使用 linq 初始化重复元素数组?

c# - .net c# Winforms .exe 无法在任何其他机器上启动

c# - 如何找到基类的直接后代类型?

mysql - 使用 MySQL 无符号整数是不好的做法吗?

c# - 多个左连接的 LINQ 方法语法

c# - html 标签内的正则表达式匹配