我有一个像下面的查询,我想更新序列的所有元素。但不使用foreach / for
var res = _context.tbl1.Where(/* Conditions here */);
res.//Using a method to performing changes;
答案 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
吗?