Đây phải là một câu hỏi đơn giản. Đưa ra một tiêu chí, làm thế nào một trong những xóa các thực thể đáp ứng các tiêu chí?Làm cách nào để xóa đối tượng NHibernate bằng cách sử dụng tiêu chí?
Lý do:
HQL và tiêu chí NH là NHibernate cấu trúc cụ thể và như vậy họ là phía máy chủ Dal chi tiết thực hiện. Tôi không muốn họ "rò rỉ" cho phía khách hàng. Vì vậy, phía máy khách của chúng tôi cung cấp các biểu thức LINQ cho máy chủ để xử lý. Cho đến bây giờ các yêu cầu trong đó yêu cầu chọn và LINQ để NHibernate đối phó với họ chỉ là tốt.
Tuy nhiên, có nhu cầu thực hiện thao tác xóa hàng loạt ngay bây giờ. Như thường lệ, phía máy khách cung cấp một biểu thức LINQ và máy chủ là xóa các thực thể thỏa mãn biểu thức. Thật không may, LINQ to NHibernate là không có sự giúp đỡ ở đây. Điều quan trọng nhất có thể làm là dịch biểu thức LINQ đã cho thành tiêu chuẩn NHibernate.
Dù sao, đây là câu chuyện. Tôi muốn nhấn mạnh rằng phía khách hàng là không biết NHibernate ở tất cả và tôi thích nó ở lại theo cách này.
P.S.
Tôi đang sử dụng NH 2.1
Tôi không thích phương pháp này mặc dù khi làm việc với số lượng lớn các đối tượng vì nó yêu cầu tìm nạp tất cả các thực thể từ cơ sở dữ liệu đầu tiên trước khi chúng có thể bị xóa. –
Điều này là đúng, bạn không phải sử dụng HQL để phát hành câu lệnh SQL 'DELETE FROM WHERE'? – DanB
Các bạn, bạn không nghiêm túc. Phải có cách tốt hơn! – mark