NHibernate запрос критерия один ко многим - PullRequest
3 голосов
/ 16 января 2011

Предположим, у меня есть класс Post и класс Tag. Отношение между Post и Tag однозначно. Как я могу написать запрос Hibernate, чтобы получить список объектов Post, которые имеют данный тег?

public IList<Post> FindByTag(Tag tag)
{
    IList<Post> posts;
    using (ISession session = HibernateUtil.GetSessionFactory().OpenSession())
    {
        posts = session.CreateCriteria<Post>()
            .Add(...) // what Criteria do I add?
            .List<Post>();
    }
    return posts;
}

1 Ответ

4 голосов
/ 16 января 2011

Вам необходимо добавить псевдоним или критерии

session.CreateCriteria<Post>()
.CreateAlias("Tags", "tag")
.Add(Restrictions.Eq("tag.Id", tag.Id))
.List<Post>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...