Тест для CreateSQLQuery - PullRequest
       0

Тест для CreateSQLQuery

1 голос
/ 13 мая 2011

Я использую NHibernate CreateSQLQuery метод для получения объектов DTO моих отделов.

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

и это хорошо работает. Но я также хочу написать тест, и он не проходит, когда я пишу:

 [Test]
 public void CanGetTreeDto()
  {

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

Выдает SQLiteException и пишет "не удалось выполнить запрос". Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 13 мая 2011

Вам необходимо специальное отображение :

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

Кроме того, вам может потребоваться , чтобы явно указать столбцы и их имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...