我使用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
并写入“无法执行查询”。有人可以帮忙吗?
答案 0 :(得分:0)
您需要ad-hoc mapping:
IList<DepartmentDto> result = Session.CreateSQLQuery(query)
.SetResultTransformer(Transformers.AliasToBean(typeof(DepartmentDto)))
.List<DepartmentDto>();
此外,您可能需要明确有关列及其名称。