/// <summary> /// Подсчет количества строк c отложенным исполнением запроса /// </summary> /// <param name="LazyExecution">Признак необходимости отложенного исполнения</param> /// <remarks>ВАЖНО: Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода!</remarks> public ICriteria <T> Count(bool LazyExecution = true) { ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Count."); extraCondition = ExtraCondition.Count; return(this); }
/// <summary> /// Отложенное вычисление суммы /// </summary> /// <typeparam name="TValue">Тип данных суммируемого поля</typeparam> /// <param name="fieldName">Имя поля</param> /// <returns></returns> private void Sum <TValue, TOut>(bool LazyExecution, Func <object[], TOut> expr, params string[] fieldNames) where TValue : struct where TOut : class { ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Sum."); extraCondition = ExtraCondition.Sum; (sumFields as List <string>).AddRange(fieldNames); }
/// <summary> /// Отложенное вычисление суммы /// </summary> /// <param name="fieldName"></param> /// <param name="LazyExecution"></param> private void Sum(bool LazyExecution, string fieldName) { ValidationUtils.Assert(LazyExecution, "Если отложенное исполнение не требуется, необходимо использовать другую перегрузку метода Sum."); extraCondition = ExtraCondition.Sum; sumFields.Add(fieldName); //list.SetProjection(global::NHibernate.Criterion.Projections.Sum(fieldName)); }
/// <summary> /// Метод для получения критерия NHIbernate /// </summary> /// <param name="session">Сессия</param> /// <returns></returns> public ICriteria GetCriteria() { var result = Compile(currentSession); extraCondition = ExtraCondition.None; QueryProjection.Clear(); return(result); }