NHibernate Get Коллекция объекта A на основе идентификатора корней агрегатов - PullRequest
0 голосов
/ 31 августа 2009
Class A
{
Guid ID{get;}
ISet<B> ClassBs {get;}
}


repository
public IList<B> GetAsBs(A a)
{
ICriteria ACriteria = Session.CreateCriteria(typeof(A));
ICriteria BCriteria = ACriteria.CreateCriteria("ClassBs");
A.Add(Restrictions.Eq("ID", a.ID));
return BCriteria.List<B>();
}

Я могу сделать это в HQL NP, но хочу использовать критерии я получаю ошибку, что он пытается вернуть A, а не B

любая помощь будет отличной

1 Ответ

0 голосов
/ 02 сентября 2009

Я только что перешел на HQL для всех, кто интересуется

            public IList<B> GetAsBs(A aClass)
            {
            string hql = @"
                SELECT B
                FROM    A a
                JOIN     a.ClassBs b
                WHERE  A.ID = :ID
            ";
            IQuery query = Session.CreateQuery(hql);
            query.SetParameter("ID", aClass.ID);

            return query.List<B>();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...