Я пытаюсь написать запрос, который принимает критерий и возвращает прогноз количества, это то, что я использую в данный момент, но это действительно неэффективно, почему идеи о том, как я могу заменить это?
/// <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 ) ) ) );
}
}
Просто чтобы вы знали, что я на самом деле пытаюсь здесь сделать, у меня есть ряд критериальных выражений, и мне нужно создать сгруппированную таблицу, в которой столбцы являются выражениями.