Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }