我有一个表达式可以直接用于EF存储库:
Expression<Func<Image, bool>> exprNonPrivateMembers =
i => i.Member.IsPrivate == false;
var images = imagesRepository.All().Where(exprNonPrivateMembers);
在我的业务逻辑中的某个地方,我已经有了这个“可搜索”的表达式,如下所示:
Expression<Func<Member, bool>> memberIsSearchable =
m => m.IsPrivate == false;
我想在我的新表达中重用它:
Expression<Func<Image, bool>> exprNonPrivateMembers =
i => memberIsSearchable(i.Member); // pseudocode
这是域模型:
class Image
{
public Member Member { get; set;}
}
class Member
{
public bool IsPrivate { get; set;}
}
我该怎么做?
注意:这是一段非常简化的代码,请不要建议删除表达式等有两个原因: