I have an expression which I can directly use with EF repository:
Expression<Func<Image, bool>> exprNonPrivateMembers =
i => i.Member.IsPrivate == false;
var images = imagesRepository.All().Where(exprNonPrivateMembers);
somewhere in my business logic I already have this "searchable" expression as follows:
Expression<Func<Member, bool>> memberIsSearchable =
m => m.IsPrivate == false;
I want to reuse it in my new expression:
Expression<Func<Image, bool>> exprNonPrivateMembers =
i => memberIsSearchable(i.Member); // pseudocode
and here is the domain model:
class Image
{
public Member Member { get; set;}
}
class Member
{
public bool IsPrivate { get; set;}
}
how can I do that?
note: this is very simplified piece of code, please do not suggest removing expressions etc for 2 reasons:
- I'm still learning expressions magic and I want to learn something new
- This really needs to be done using expressions :)