Как преобразовать этот HQL в DetachedCriteria?

Этот оператор HQL при выполнении дает следующий результат:

select t, count(s) from Submission s right join s.Topics as t GROUP BY t.Id

result[0]
    [0] topic_id, topic_name, ... 
    [1] 10

result[1]
    [0] topic_id, topic_name, ... 
    [1] 12
     .
result[n]
    [0] topic_id, topic_name, ... 
    [1] 19

Этот API-интерфейс DetachedCriteria дает почти аналогичный результат, но без загрузки темы

ProjectionList PrjList = Projections.ProjectionList();
PrjList.Add(Projections.GroupProperty("Topics"), "t");
PrjList.Add(Projections.Count("Id"));

DetachedCriteria Filter = DetachedCriteria.For<Submission>();
Filter.CreateCriteria("Topics", "t", JoinType.RightOuterJoin);
Filter.SetProjection(PrjList);

result[0]
    [0] null
    [1] 10

result[1]
    [0] null
    [1] 12
     .
result[n]
    [0] null
    [1] 19

По какой-то причине nhibernate отказывается создавать объекты темы для набора результатов, но делает это для запроса HQL. Почему?

6
задан Roman 13 February 2011 в 13:45
поделиться