【发布时间】:2016-10-01 04:41:38
【问题描述】:
我有一个程序,我在其中打开SqlConnection,加载对象列表,修改每个对象的值,然后更新 SQL Server 数据库中的行。因为修改需要字符串解析,所以我无法使用纯 T-SQL 进行。
现在我正在遍历对象列表,并在每次迭代中运行 SQL 更新。这似乎效率低下,我想知道是否有更有效的方法来使用 LINQ
该列表称为UsageRecords。我正在更新的值是MthlyConsumption。
这是我的代码:
foreach (var item in UsageRecords)
{
string UpdateQuery = @"UPDATE tbl810CTImport
SET MthlyConsumption = " + item.MthlyConsumption +
"WHERE ID = " + item.Id;
SqlCommand update = new SqlCommand(UpdateQuery, sourceConnection);
update.ExecuteNonQuery();
}
【问题讨论】:
-
与您的问题无关:use parameterized sql,以避免注入并阻止坏字符破坏查询(如果您要插入字符串,则像
'字符) -
与您的问题相关:see this post。我想这就是你要找的。span>
-
谢谢,这是一个很好的观点。在我测试的时候,代码中只有 SQL 文本。
-
@JohnCarpenter 感谢您的链接
标签: c# sql-server linq