У меня есть объект, определенный так:
public class TestEntity : EntityBase
{
public string Source {get;set;}
public bool Suppressed {get;set;}
/* other stuff */
}
Я хочу показать таблицу HTML, которая выглядит следующим образом:
Source Suppressed Not Suppressed
-------------------------------------------------
Source1 30 1225
Soure 7 573
Моя первая попытка запросить это было:
from e in _session.Query<TestEntity>()
group e by e.Source into g1
select new
{
Source = g1.Key,
Suppressed = g1.Sum(x=>x.Suppressed ? 1 : 0),
NotSuppressed = g1.Sum(x=>x.Suppressed ? 0 : 1),
}
Но, конечно же, Линк подавился троичным выражением при преобразовании его в SQL. Есть ли альтернативные способы сделать это?
Редактировать: Я попробовал предложение Дмитрия, и оно возвращает одинаковое количество для обоих. SQL, сгенерированный его предложением:
select
customer0_.SourceA as col_0_0_,
cast(count(*) as INT) as col_1_0_,
cast(count(*) as INT) as col_2_0_
from
dbo.Customers customer0_
group by
customer0_.SourceA
Что, очевидно, не то, что я хочу ...