Tôi đang cố gắng tạo truy vấn trong NHibernate để trả về danh sách khách hàng không có đơn đặt hàng nào phù hợp với tiêu chí cụ thể.Truy vấn Nhibernate và không tồn tại
đối tượng khách hàng của tôi có chứa một tập hợp các đơn đặt hàng:
<set name="Orders">
<key column="CustomerID" />
<one-to-many class="Order" />
</set>
Làm thế nào để contruct một truy vấn sử dụng ICriteria API NHibernate để có được một danh sách của tất cả các khách hàng không có đơn đặt hàng? Sử dụng SQL nguyên gốc, tôi có thể trình bày truy vấn như sau:
select * from tblCustomers c where not exists
(select 1 from tblOrders o where c.ID = o.CustomerID)
Tôi không thể tìm ra cách thực hiện điều này bằng cách sử dụng bí danh và đối tượng DetatchedCriteria. Bất kỳ hướng dẫn nào cũng sẽ được đánh giá cao!
Cảm ơn!
Cảm ơn, tôi nghĩ điều này sẽ giúp tôi bắt đầu. NHibernate sẽ phàn nàn về việc sử dụng o.CustomerID ... cột đó nằm trong DB nhưng không được ánh xạ như một cột trong lớp Order của tôi. (NHibernate thêm nó tự động như quy định trong thiết lập của khách hàng như là cột quan trọng.) – Dan
oh..đó là đúng, nó cần phải được 'o.Customer.ID' – dotjoe
Cả hai entitties phải được ánh xạ với nhau để làm cho tất cả mọi thứ làm việc ? Cuz hiện tại tôi không thể nhập câu lệnh, kể cả intellisense cũng không làm nổi bật nó. –