测试CreateSQLQuery

时间:2011-05-13 07:07:30

标签: .net nhibernate sqlite nunit

我使用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 :(得分:0)

您需要ad-hoc mapping

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

此外,您可能需要明确有关列及其名称。