有没有办法使用 LINQ 对集合进行批量更新?目前如果我有一个List<myObject>
我想将列表中的每一行的column1更新为等于TEST,我将设置一个foreach循环,然后为每个单独的对象设置值,然后保存它。这工作正常,但我只是想知道是否有一些 LINQ 方法在那里我可以做类似的事情myOject.BulkUpdate(columnName, value)
?
使用 Linq 表达式和 Terry Aney 关于此主题的优秀库,您的要求完全可以实现。
使用 LINQ to SQL 批量更新和删除 https://terryaney.wordpress.com/2008/04/14/batch-updates-and-deletes-with-linq-to-sql/
您给出的示例的更新如下:
using BTR.Core.Linq;
...
Context.myObjects.UpdateBatch
(
Context.myObjects.Where(x => x.columnName != value),
x => new myObject { columnName = value}
);
编辑(2017-01-20):现在以 NuGet 包的形式提供,这毫无价值@https://www.nuget.org/packages/LinqPost/ https://www.nuget.org/packages/LinqPost/.
Install-Package LinqPost
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)