Мой sql:
SELECT Branch.BranchName, Department.DepartmentName,
Designation.DesignationName, EmpType.EmpType, Shift.ShiftName,
Employee.CardNo,Employee.EmployeeStatus, Employee.JoiningDate, Employee.EmpName
FROM Branch
INNER JOIN Department ON Branch.BranchId = Department.BranchId
INNER JOIN Designation ON Branch.BranchId = Designation.BranchId
AND Department.DepartmentId = Designation.DepartmentId
INNER JOIN Employee ON Branch.BranchId = Employee.BranchId
AND Department.DepartmentId = Employee.DepartmentId
AND Designation.DesignationId = Employee.DesignationId
INNER JOIN EmpType ON Employee.EmpTypeId = EmpType.EmpTypeId
INNER JOIN Shift ON Employee.ShiftId = Shift.ShiftId
Код доступа к данным:
IQuery query = Session.GetISession().CreateSQLQuery(sql).AddEntity(typeof(Branch));
return query.List<Branch>();
Трассировка стека:
at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
at NHibernate.Driver.NHybridDataReader.GetOrdinal(String name)
at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name)
at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String[] names, SessionImplementor session, Object owner)
at NHibernate.Loader.Loader.GetKeyFromResultSet(Int32 i, ILoadable persister, Object id, IDataReader rs, ISessionImplementor session)
at NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
Существует несколько объектов DomainObject выше (например, филиал, отдел, EmpType, назначение и сотрудник). но я хотел бы вернуть тип списка объекта Branch.
Пожалуйста, кто-нибудь подскажет мне, каково было бы решение.
Спасибо
Rusho