Consider the function:
public async Task<IEnumerable<Purchases>> GetPurchases(User user, Expression<Func<Purchases, bool>> whereClause)
    {           
            using (var context = new UserDbContext())
            {
                context.Users.Attach(user);
                context.Entry(user).Collection(p => p.Purchases)
                .Query()
                .Where(whereClause)
                .Load();
                if (Equals(user.Purchases, null))
                    return new List<Purchases>();
            }
        return user.Purchases;
}
In this function the parameter whereClause can at times be null, I'm wanting to check if its null and then assign an empty Expression if so. This is as close as I've come:
if (Equals(whereClause, null))
       whereClause = () => { };
This was based on the question here, but for the line that makes whereClause empty I'm getting the error.
Error 7 Not all code paths return a value in lambda expression of type 'System.Func'<'Purchases,bool>'
Anyone know how this could be corrected?
 
     
     
     
    