Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Nhibernate GroupBy & Max / 2 сообщений из 2, страница 1 из 1
03.02.2010, 15:16
    #36447346
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Nhibernate GroupBy & Max
Помогите советом или решением.. как а хибере сгруппироваь строки по одному полю и вывести максимально количество записей в группе? код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        public int MaxGroupEntityCount(Type entity, string propName, object value, string groupfield)
        {
            ISession currentSession = NHibernateSession.Current;
            var criteria = currentSession.CreateCriteria(entity)
                        .Add(Expression.Eq(propName, value))
                        .SetProjection(Projections.GroupProperty(groupfield))
                        .SetProjection(Projections.Max(groupfield));
                 var gg = criteria.List();
            return criteria.UniqueResult<int>();


        }
Заранее спасибо
...
Рейтинг: 0 / 0
03.02.2010, 16:37
    #36447582
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Nhibernate GroupBy & Max
Ну как один из вариантов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int count = (int)session.CreateCriteria(typeof(Product))
    .SetProjection(Projections.ProjectionList()
        .Add(Projections.RowCount(), "Count")
        .Add(Projections.GroupProperty(Product.Properties.Category))

     )
     .Add(Expression.Eq(Product.Properties.Category, new Category { CategoryId = 1 }))
    .UniqueResult<object[]>()[0];

SQL
Код: plaintext
1.
2.
3.
4.
SELECT COUNT(*) AS y0_,
       this_.CategoryId AS y1_
FROM   Products this_
WHERE  this_.CategoryId = @p0
GROUP BY this_.CategoryId
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Nhibernate GroupBy & Max / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]