Кажется, я получаю сообщение об ошибке при запросе объекта, который имеет дочерний объект свойства POCO:
could not resolve property: PreferredLanguage.Name of: AcademyData.Entities.StudentsInformation
Мой запрос:
Session.QueryOver<StudentsInformation>().Where(x => x.Active == 1 && x.PreferredLanguage.Name == firstName).List()
Если я удалю критерии x.PreferredLanguage.Name, он сработает, и я увижу правильное значение имени объекта, но не позволит мне использовать его в качестве запроса. Что я делаю не так?
Вот мое отображение:
References(x => x.PreferredLanguage).Column("PreferredLanguageID");
Кроме того, я разделил свои POCO и отображения на 2 отдельные сборки, если это имеет какое-либо значение. Я настраиваю отображение так:
.Mappings(x => x.FluentMappings.AddFromAssemblyOf<AcademyData.Dummy>().AddFromAssemblyOf<data.core.Dummy>())
Игнорируйте манекена, использовал его для проверки чего-либо.
РЕДАКТИРОВАТЬ: я проверил его с использованием объекта из той же сборки, и проблема все еще существует.
EDIT:
Я нашел решение своей проблемы:
return SessionManager.Session.QueryOver<StudentsInformation>().JoinQueryOver<PersonBase>(s => s.Person).Where(p => p.FirstName == firstName).List();
Это правильный способ сделать это, или я все еще могу сделать это без JoinQueryOver для другой таблицы?