В моем приложении много статей, каждая из которых относится к одной или нескольким категориям. На моей домашней странице я хотел бы перечислить все категории с общим количеством статей, под которыми я хотел бы показать топ X описаний статей (в зависимости от того, когда статья была опубликована). Это будет выглядеть примерно так:
Home Decorating (105)
- How to fix Windows
- How to fix Curtains
- How to fix Doors
- How to fix Counter tops
- How to fix sofas
Мои сопоставления довольно просты и могут быть просмотрены либо из статьи, либо из категории - оба имеют файлы сопоставления nhibernate.
Я могу сделать это довольно легко из хранимого процесса, но в учебных целях хотел бы сделать это через NHibernate, и мне было интересно, есть ли эффективный способ сделать это или я всегда буду в конечном итоге с несколькими запросами .
Кто-нибудь знает, как это можно сделать через NHibernate?
Обновление
Вот сопоставления:
<class name="MyProj.News.Category, MyProj.News">
<id name="Id" column="ID"/>
<bag name="Articles" table="Category_Article" lazy="true">
<key column="CATEGORY_ID"/>
<many-to-many class="MyProj.News.Article, MyProj.News" column="Article_ID"/>
</bag>
</class>
<class name="MyProj.News.Article, MyProj.News">
<id name="id" column="ID"/>
<!-- inverse end -->
<bag name="categories" table="Category_Article" inverse="true" lazy="true">
<key column="ARTICLE_ID"/>
<many-to-many class="MyProj.News.Category, MyProj.News" column="CATEGORY_ID"/>
</bag>
</class>