Tôi đang sử dụng NHibernate để quản lý cơ sở dữ liệu của mình. Trong một lớp Tôi đang tính toán một tài sản sử dụng công thức này:Lỗi trong NHibernate Aliasing
(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = Id GROUP BY r.Meter_Id) AS x)
Truy vấn được tạo ra trông như thế này:
(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = this_.Id GROUP BY r.Meter_Id) AS this_.x)
Rõ ràng tên trong báo cáo AS được đổi tên thành this_.x, gây lỗi.
Nó có vẻ là một lỗi được biết: NHibernate JIRA #NH-2878
Liệu enyone có một giải pháp cho việc này?
Bí danh chắc chắn là cần thiết, vì lỗi SQL xảy ra khi nó không được sử dụng. Tôi muốn biết liệu có ai đã sửa chữa điều này không. Nếu không có, tôi nghĩ rằng tôi sẽ sử dụng một khung nhìn cơ sở dữ liệu cho vấn đề của tôi. – Coxer