コード例 #1
0
        public IList <TEntity> GetByFilterConstraints <TEntity>(string constraints, string associations) where TEntity : class
        {
            var hql = HqlGenerator.GetEntitiesQuery <TEntity>(constraints, associations);

            Log.Debug("A Filter constraints is generated and submitted: {0}", hql);
            var result = Session.CreateQuery(hql).List <TEntity>();

            Log.Debug("Filter query has returned {0} items", result.Count.ToString(CultureInfo.InvariantCulture));
            return(result);
        }
コード例 #2
0
        public IList <TEntity> GetByFilterConstraints <TEntity>(string constraints, string associations, IEnumerable <string> fetchEntities) where TEntity : class
        {
            var hql = HqlGenerator.GetFetchEntitiesQuery <TEntity>(constraints, associations, fetchEntities);

            Log.Debug("A Filter constraints is generated and submitted: {0}", hql);
            var result = Session.CreateQuery(hql).SetResultTransformer(new DistinctRootEntityResultTransformer()).List <TEntity>();

            Log.Debug("Filter query has returned {0} items", result.Count.ToString(CultureInfo.InvariantCulture));
            return(result);
        }
コード例 #3
0
        private IQuery HqlCreatedQuery <TEntity>(IEnumerable <IProjection> projections, IEnumerable <IRestriction> restrictions, IEnumerable <IJoin> joins,
                                                 IEnumerable <IOrdination> ordinations = null, bool appendFirstEntityId = true)
        {
            var hql = HqlGenerator.GetProjectionQuery <TEntity>(projections, restrictions, joins, ordinations, appendFirstEntityId);

            Log.Debug("A Filter constraints with projections is generated and submitted: {0}", hql);
            IQuery hqlCreatedQuery;

            try
            {
                hqlCreatedQuery = Session.CreateQuery(hql);
            }
            catch (Exception ex)
            {
                throw new Exception(
                          String.Format("Cannot create SQL from given HQL. Review your Projections, Restrictions and Joins. The bad hql generated is: [{0}]. more details: {1}",
                                        hql, ex.Message));
            }
            return(hqlCreatedQuery);
        }