ICriteria - беглый nhibernate, не производящий внутреннее соединение

Я разрабатываю небольшое веб-приложение, используя nhibnerate в качестве своего DAL. У меня есть классы, из которых я хочу выбрать, используя простой ICriteria.

Это пример моего кода:

var criteria = CurrentSession.CreateCriteria(typeof(School))
    .CreateAlias("students", "s")
    .Add(Restrictions.Eq("s.Name", "Charley"));

По какой-то причине этот код сгенерировал запрос без внутреннего соединения. У меня есть только одна таблица, выбранная из.

Как я могу это решить?

Спасибо


person vondip    schedule 29.08.2011    source источник
comment
Я предполагаю, что ваш класс School имеет имя свойства Students, верно? Тогда проблема может заключаться в строке студентов нижнего регистра. Ну, это всего лишь предположение, но я думаю, стоит попробовать.   -  person goenning    schedule 29.08.2011
comment
Так что поместите это в ответ, если это решение, его нельзя принять в качестве комментария.   -  person Stefan Steinegger    schedule 29.08.2011
comment
@vondip: было бы полезно, если бы вы описали свои сущности и фактически сгенерированный SQL   -  person J. Ed    schedule 29.08.2011


Ответы (1)


Комментарий Oenning может быть ответом, но вы также должны указать тип соединения в CreateAlias:

var criteria = CurrentSession.CreateCriteria(typeof(School))
.CreateAlias("students", "s", JoinType.InnerJoin)
.Add(Restrictions.Eq("s.Name", "Charley"));
person Jamie Ide    schedule 29.08.2011
comment
Тем не менее, не повезло. Я использую mysql в качестве моей базы данных - person vondip; 29.08.2011