Счет один-ко-многим - PullRequest
3 голосов
/ 11 мая 2011

Интересно, можно ли решить эту проблему с меньшими накладными расходами: При условии простого отношения «один ко многим» Product -> Size (Product имеет один размер). Чтобы выяснить, сколько товаров присвоено размеру, я бы обновил сопоставление размера с помощью Product- Bag. Но что, если меня интересует только количество (не нужно никаких сведений о продукте), можно ли это сделать без дополнительных затрат на загрузку всех объектов-продуктов?

Спасибо за любые чаевые sl3dg3

Ответы [ 2 ]

7 голосов
/ 11 мая 2011

Используйте атрибут lazy="extra" в хбм или ExtraLazyLoad() в плавных отображениях для сбора продукта. С дополнительной ленивой загрузкой Products.Count переводится в sql 'select count'

См. соответствующий вопрос

0 голосов
/ 11 мая 2011

Почему бы не создать запрос?Примерно так для Linq (конечно, HQL, критерии или QueryOver тоже должны работать):

int count = session.Query<Product>()
    .Where(x => x.Size != null)
    .Count();
...