更新所有子实体,EF/Linq
本文关键字:EF Linq 实体 更新 | 更新日期: 2023-09-27 18:05:17
我有两个表A和b,它们的关系是1:N。我想更新所有子表中的一个字段,但我不知道用什么LINQ表达式来做这件事——应该不会太难。
我在想:
parentEntity.childrens.All(..lambda expr..).field = value;
但很明显这行不通。
我知道另一种选择是foreach(..),但如果可能的话,我更喜欢L2E。
你不能在集合的所有项上设置属性,而不以某种方式循环遍历该集合,无论是foreach
, for
, List<T>.ForEach
还是类似的
如果你想保持在一行,你可以这样做:
author.Books.ToList().ForEach(b => b.PublishYear = 1999);
您必须循环并更新所有或使用通过Entity Framework
执行的原始SQL
语句,这对于这种事情将更有效。