Запрос свойства подкласса NHibernate - PullRequest
1 голос
/ 20 декабря 2010

У меня есть класс A, который содержит класс B, который содержит класс C со свойством P.Так что-то вроде этого должно работать, не так ли?:

var query = Session.CreateCriteria(typeof(A));
query.Add(Expression.InsensitiveLike(
              Projections.Cast(NHibernateUtil.String,
                               Projections.Property("B.C.P")),
              "%bla%", MatchMode.Exact));

Я получаю исключение could not resolve property.

Я понимаю, что могу использовать CreateAlias и т. Д., Которые у меня естьтоже пытался безрезультатно.На данный момент я выбрал «неявное объединение ассоциаций».

Любая обратная связь будет принята с благодарностью.Большое спасибо.

Крис

1 Ответ

2 голосов
/ 20 декабря 2010

CreateAlias ​​(или CreateCriteria) - единственный способ сделать это.

var query = Session.CreateCriteria<A>()
                   .CreateAlias("B", "B")
                   .CreateAlias("B.C", "C");
query.Add(Expression.InsensitiveLike(
              Projections.Cast(NHibernateUtil.String,
                               Projections.Property("C.P")),
              "%bla%", MatchMode.Exact));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...