我有两个表 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);
关于c# - 更新所有子实体,EF/Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7042794/