【发布时间】:2011-03-25 01:49:24
【问题描述】:
我有一个包含 230 列和 1200 万行的表。
我需要更新每行的 123 个字段。
如果我尝试使用 LINQ-To-Sql 执行此操作,则会收到 System.OutOfMemory 异常。
我知道如果我禁用对象跟踪,我不会收到 OutofMemory 错误。 但我认为如果禁用对象跟踪,我将无法执行更新。
更新它们的最佳方法是什么?
【问题讨论】:
-
每行123个字段的值会不一样吗?它们可以用一些公式计算吗?换句话说,你能用一条 SQL UPDATE 语句来做这个操作吗?
-
我假设您在每一行中设置相同的数据,因为您将无法在内存中保存这么多对象?简单的答案是使用存储过程,并将其拖到您的 EDML 文件中。
-
230 列听起来很可疑......
-
@Mitch - 230 列需要在 123 列中更新表中所有记录的相同数据,这听起来更令人怀疑...
-
每一行的列都有不同的值。它是为每一行计算的。
标签: c# sql-server linq linq-to-sql