Tôi có một thực thể đơn giản gọi là EmployeeEntity
với tính ID
, Name
, Age
, Organisation
, và Designation
. Tôi chỉ truy vấn cơ sở dữ liệu bằng cách sử dụng truy vấnLỗi trong khi chuyển đổi của Nhibernate truy vấn vào danh sách chung
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
nhưng chuyển đổi sang kiểu của tôi, nó ném một ngoại lệ:
Không thể thực hiện truy vấn [SQL: SQL không có sẵn]
với InnerException
:
Giá trị "System.Object []" không thuộc loại "NHiberna teTest.EmployeeEntity "và không thể được sử dụng trong bộ sưu tập chung này. Tên
Parameter: giá trị
dù nó hoạt động tốt sử dụng truy vấn này:
IQuery query = session.CreateQuery("select e FROM EmployeeEntity e group by e");
IList<EmployeeEntity> employee = query.List<EmployeeEntity>();
nhưng tôi không muốn chọn tất cả các cột bởi vì tôi không cần đến chúng.
Hi, cảm ơn bạn đã trả lời nhưng trên constructor thêm và hơn querying..it mang lại cho tôi ngoại lệ này "NHibernate .InvalidProxyTypeException: Các loại sau đây có thể không được sử dụng làm proxy: NHibernateTest.EmployeeEntity: loại phải có hàm tạo đối số không được hiển thị (công khai hoặc được bảo vệ) " có nghĩa là thực thể với hàm tạo không được hỗ trợ bởi nhibernate. –
@pijush, nó chỉ có nghĩa là bạn không thể chỉ có một hàm tạo không tham số. Đơn giản chỉ cần thêm một constructor parameterless và bạn tốt để đi. – Vadim