根据标准计算投影

时间:2010-07-29 07:07:04

标签: c# database nhibernate

我正在尝试编写一个采用标准并返回计数投影的查询,这就是我现在正在使用的但是效率非常低,为什么我会如何替换它呢?

    /// <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 个答案:

答案 0 :(得分:0)

我没有找到比这更好的解决方案,但我不认为这是我最初想到的效率低下。