1
사용자 지정 데이터를 반환하는 명명 된 nHibernate 쿼리가 있습니다. 그래서 나는 데이터를 캡슐화하기 위해 빈 클래스를 만들기로 결정했다.nHibernate 명명 된 쿼리, 결과 변환 및 공백이있는 열 이름
public IList<Report> GetReport(int reportId)
{
return Session.GetNamedQuery("GetReport")
.SetParameter("Id", reportId)
.List<Report>();
}
public class Report
{
public virtual string Id { get; set; }
...
public virtual string CustomColumn { get; set; }
}
및 매핑 : 여기에 몇 가지 코드
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MyAssembly"
namespace="MyAssembly.Model">
<class name="Report" table="Report">
<id name="Id" column="Id">
<generator class="assigned"/>
</id>
...
<property column="`Custom column`" name="CustomColumn" />
</class>
<sql-query name="GetReport">
<return class="Report"/>
<query-param name="Id" type="int" />
exec GetReport :Id
</sql-query>
</hibernate-mapping>
그러나 나는 예외가있어이 방법을 호출 할 때 :
NHibernate.Exceptions.GenericADOException : 쿼리 를 실행할 수 없습니다를 - -> System.IndexOutOfRangeException : [사용자 지정 열]
도움, 누구?