public override Expression <Func <EFProduct, bool> > ExpressionForSpecification(ISpecification <Product, IProductSpecificationVisitor> spec) { var visitor = new ProductEFExpressionVisitor(); spec.Accept(visitor); return(visitor.Expr); }
public override Expression <Func <DBUser, bool> > ConvertSpecToExpression(ISpecification <User, IUserSpecificationVisitor> spec) { var visitor = new UserEFExpressionVisitor(); spec.Accept(visitor); return(visitor.Expr); }
public IList <TEntity> Find <TEntity>(ISpecification <TEntity> spec) where TEntity : class, IIdAccessor { var session = Factory.OpenSession(); var query = session.QueryOver <TEntity>(); var visitor = new QueryOverSpecificationVisitor <TEntity>(query); spec.Accept(visitor); var list = query.List(); session.Close(); return(list); }
public IList <TResult> Find <TEntity, TResult>(ISpecification <TEntity> spec, Mapping <TEntity, TResult> map) where TEntity : class, IIdAccessor { var session = Factory.OpenSession(); var query = session.QueryOver <TEntity>(); var visitor = new QueryOverSpecificationVisitor <TEntity>(query); spec.Accept(visitor); query.Select(map.ToProjections()).TransformUsing(Transformers.AliasToBean <TResult>()); var list = query.List <TResult>(); session.Close(); return(list); }
public override Expression <Func <Todo, bool> > ConvertSpecToExpression(ISpecification <TodoAggregate, ITodoSpecificationVisitor> spec) { spec.Accept(this); return(this.Expr); }