代码之家  ›  专栏  ›  技术社区  ›  Daniel Little

从标准计算投影

  •  2
  • Daniel Little  · 技术社区  · 15 年前

    我正在尝试编写一个查询,它接受一个条件并返回一个计数投影,这是我目前正在使用的,但它确实效率低下,为什么要考虑如何替换它?

        /// <summary> Each criteria contributes one row </summary>
        private IProjection AsCount( ICriterion criterion )
        {
            if (criterion == null) {
                return Projections.RowCount();
            } else {
                return Projections.Sum( Projections.Conditional( criterion,
                    Projections.Cast( NHibernateUtil.Int32, Projections.Constant( 1 ) ),
                    Projections.Cast( NHibernateUtil.Int32, Projections.Constant( 0 ) ) ) );
            }
        }
    

    我有一系列的条件表达式,需要生成一个分组表,其中的列就是表达式。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Daniel Little    15 年前

    我没有找到比这更好的解决办法,但我不相信这是一个低效的,因为我第一次想到。