我有一個特性ID
,Name
,Age
,Organisation
,並且Designation
稱爲EmployeeEntity
一個簡單的實體。我使用的查詢錯誤而NHibernate的查詢皈依到泛型列表
IQuery query = session.CreateQuery(
"select Name, Designation, Age, Organisation FROM EmployeeEntity " +
"group by Name, Designation, Age, Organisation");
IList<EmployeeEntity> employee = query.List<EmployeeEntity>(); // Throws error
但轉換到我喜歡的類型只是查詢數據庫,它拋出一個異常:
無法執行查詢[SQL:SQL不可]
與InnerException
:
值「System.Object []」不是類型「NHiberna teTest.EmployeeEntity「並且不能用於這個通用集合。
參數名:價值
雖然它使用此查詢工作正常:
IQuery query = session.CreateQuery("select e FROM EmployeeEntity e group by e");
IList<EmployeeEntity> employee = query.List<EmployeeEntity>();
,但我不想選擇所有列,因爲我不需要他們。
您好,感謝您的答覆,但增加的構造,比querying..it給了我這個異常「的NHibernate .InvalidProxyTypeException:以下類型不能用作代理: NHibernateTest.EmployeeEntity:type應該有一個可見的(公共或受保護)無參數構造函數「 」這意味着具有構造函數的實體不受nhibernate支持。 – 2011-03-29 15:17:32
@pijush,它只意味着你不能只有一個非參數的構造函數。只需添加一個無參數構造函數,您就可以輕鬆完成任務。 – Vadim 2011-03-29 15:31:27