저장 프로 시저를 NamedQuery로 호출하면 작동 중임 . 구성 요소를로드하려고하면 문제가 발생합니다. 저장 프로 시저이NHibernate : 저장 프로 시저 및 구성 요소
같은 레코드 [IDEmployee, EmployeeName, 도시, 국가] IDEmployee 및 EmployeeName 속하는 매핑 된 엔티티와 도시와 국가 구성 요소에서 어디
가 여기가 제공
을 반환 매핑 :
:<class name="Employee" table="employees">
<id name="IDEmployee">
<column name="idemployee" />
<generator class="native" />
</id>
<property name="EmployeeName ">
<column name="employeename" />
</property>
<component name="Address" class="Address">
<property name="City">
<column name="city" />
</property>
<property name="Country">
<column name="country" />
</property>
</component>
</class>
이것은 내가 저장 프로 시저를 호출하기 위해 사용하는 코드입니다
여기 코드는 내가 전화를 사용하는 저장 : 여기
var result =
session<ISession>().GetNamedQuery("GetEmployeesByCompany")
.SetInt32("idcompany", companyId)
.List<Employee>().ToList();
내가 구성 요소 모두가 잘 작동지도에서 제거하는 경우 내 응용 프로그램
System.IndexOutOfRangeException: t1_282_0_
at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name)
in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Type\NullableType.cs:line 236
at NHibernate.Persister.Entity.AbstractEntityPersister.Hydrate(IDataReader rs, Object id, Object obj, ILoadable rootLoadable, String[][] suffixedPropertyColumns, Boolean allProperties, ISessionImplementor session)
in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2508
at NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32 i, Object obj, String instanceClass, EntityKey key, String rowIdAlias, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session)
in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Loader\Loader.cs:line 991
을 실행할 때 내가 오류. 또한 return-property를 중첩 된 return-column으로 성공시키지 않고 시도했습니다.
팁이 있습니까? 고맙습니다!
사이드 노트 .. 그리고 그것은 너무 늦었을 수도 있습니다. 당신은 NHibernate 대신에 iBatis를 보았습니까? 스토어드 프로 시저 작업에 더 초점을 맞추고 있습니다. –
그건 소중한 제안입니다, 나는 다음 번에 시도해 보겠습니다! – xtblitz