2

我有以下表达式(简化):

from p in Providers select new { p.Name, p.Accounts.Count(a => a.State == 2) };

这很好用,但现在我想创建一个可重用的表达式,如下所示:

Expression<Func<Account, bool>> MyPredicate() { return a => a.State == 2; }

并像这样使用它:

from p in Providers select new { p.Name, p.Accounts.Count(MyPredicate()) }

不幸的是,这不起作用,因为导航属性(帐户)是 EF 中的 IList 或 ICollection。这里的模式是什么?很高兴能稍微改变一下,但请注意,我并不追求动态表达式,只是可重用的表达式。

4

0 回答 0