public IReadOnlyCollection <User> GetUsers(IUserSpecification spec) { var expr = spec.ToEFExpression(); var result = _context.Users.Where(expr) .AsEnumerable() .Select(u => new User(u.Name, u.Gender, u.Birthday)) .ToArray(); return(result); }
public static Expression <Func <DBUser, bool> > ToEFExpression(this IUserSpecification spec) { var visitor = new UserEFExpressionVisitor(); return(visitor.ConvertSpecToExpression(spec)); }