2011-05-13 4 views
1

NHibernate CreateSQLQuery 메서드를 사용하여 내 부서의 DTO 개체를 가져옵니다.CreateSQLQuery 테스트

string query = @"SELECT * FROM Departments"; 
IList<Object[]> resultList = Session.CreateSQLQuery(query)... 

입니다. 뿐만 아니라 나는 테스트를 작성하려면 그리고 내가 쓸 때 실패

[Test] 
public void CanGetTreeDto() 
    { 

      IList<DepartmentDto> resultList = _departmentRepository.GetTreeListDto(idContract); 
... 
     } 

그것은 SQLiteException을 던져 "쿼리를 실행할 수 없습니다"씁니다. 아무도 도와 줄 수 있니?

+0

전체 예외 스택 추적을 게시하십시오 –

답변

0

당신은 ad-hoc mapping이 필요합니다 또한

IList<DepartmentDto> result = Session.CreateSQLQuery(query) 
            .SetResultTransformer(Transformers.AliasToBean(typeof(DepartmentDto))) 
            .List<DepartmentDto>(); 

, 당신은 필요가 열뿐만 아니라 이름에 대한 명시 될 수 있습니다.

+0

감사합니다. 나는 문제를 해결했습니다. 'query = @ "에서 SELECT * FROM Departments"; " SQLite가 지원하지 않는 CTE를 사용했습니다. 대답 해줘서 고마워요 – dit2009

관련 문제