Я использую nHibernate для выполнения следующего запроса SQL Join для заполнения Mvc.SelectList, но у меня возникают проблемы. Работает SQL является:nHibernate QueryOver Complex Join Query to Mvc.SelectList
SELECT
tblUser.oid,
(tblPerson.forename + ', ' + tblPerson.surname + ' (' + tblOfficerType.officer_title) + ')' AS Name
FROM domainfire_officer tblOfficer
INNER JOIN domainfire_officer_type tblOfficerType ON tblOfficer.officer_type = tblOfficerType.oid
INNER JOIN domainfire_person tblPerson ON tblPerson.oid = tblOfficer.person
INNER JOIN core_user tblUser ON tblPerson.[user] = tblUser.oid
ORDER BY tblPerson.surname, tblPerson.forename
До сих пор у меня есть это, но я мог бы быть ложным здесь дерево так что не стесняйтесь, поправьте меня.
Person tblPerson = null;
Officer tblOfficer = null;
User tblUser = null;
var results = session.QueryOver<Officer>(() => tblOfficer)
.JoinQueryOver(p => p.Person,() => tblPerson)
.JoinQueryOver(u => u.User,() => tblUser)
.SelectList(list => list
.Select(() => tblUser.Oid)
.Select(() => string.Concat(tblPerson.Surname, " ", tblPerson.Forename, (tblOfficer.OfficerType == null ? "" : string.Concat(" (", tblOfficer.OfficerType.OfficerTitle, ")"))))
).List<object[]>();
Любая помощь оценивается. Я получаю следующую ошибку.
Ссылка на объект не установлена в экземпляр объекта.
Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.
Сведения об исключении: System.NullReferenceException: Ссылка на объект не установлена в экземпляр объекта.
Источник ошибки: Строка 165: .SelectList (список => Список