使用linq更新序列的元素,而不使用linq迭代序列

时间:2010-07-22 11:32:07

标签: c# linq-to-sql

我有一个像下面的查询,我想更新序列的所有元素。但不使用foreach / for

var res = _context.tbl1.Where(/* Conditions here */);
res.//Using a method to performing changes;

4 个答案:

答案 0 :(得分:2)

如果你问你是否可以像在sql中那样在linq-to-sql中进行基于集的更新,我恐怕你不能。您必须单独更新每个l2s对象并在完成后调用SubmitChanges(),或者使用sql查询调用ExecuteCommand()

这是您可能感兴趣的主题 - http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/0f014318-5259-43c7-8518-06948cec465e

编辑:实际上,您可能对此感兴趣 - Updating multiple rows Linq vs SQL

如果您看一下这里有一个链接 - http://www.aneyfamily.com/terryandann/post/2008/04/Batch-Updates-and-Deletes-with-LINQ-to-SQL.aspx,看起来有点酷。可能必须自己检查一下!

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以为IEnumerable<T>编写一个扩展方法,该方法会迭代并执行您需要的操作,可能使用委托或Func使其更通用。

答案 3 :(得分:0)

您在寻找Select吗?