更新所有子实体,EF/Linq

D.R*_*ado 2 c# linq-to-entities entity-framework

我有两张表A和B.他们的关系是1:N.我想更新所有子表中的一个字段,但我不知道使用什么LINQ表达式来做 - 不应该太难.

我想的是:

parentEntity.childrens.All(..lambda expr..).field = value;
Run Code Online (Sandbox Code Playgroud)

但显然它不起作用.

我知道另一种选择是foreach(..),但如果可能的话,我更喜欢L2E.

Joe*_*nos 7

你不能设置一个集合中的所有项目的属性,而无需通过该集合莫名其妙循环,要么foreach,for,List<T>.ForEach,或类似的.

如果你想把它保持在一行,你可以这样做:

author.Books.ToList().ForEach(b => b.PublishYear = 1999);
Run Code Online (Sandbox Code Playgroud)