Tôi đang cố gắng tìm ra lý do tại sao NHibernate xử lý xếp chồng một đến nhiều (sử dụng thác = all-delete-orphan) theo cách của nó. Tôi chạy vào cùng một vấn đề như anh chàng này:Tại sao không NHibernate xóa trẻ mồ côi đầu tiên?
Forcing NHibernate to cascade delete before inserts
Theo như tôi có thể nói với NHibernate luôn thực hiện chèn trước, sau đó cập nhật, sau đó xóa. Có thể có một lý do rất tốt cho điều này, nhưng tôi không thể cho cuộc sống của tôi tìm ra lý do đó là gì. Tôi hy vọng rằng một sự hiểu biết tốt hơn về điều này sẽ giúp tôi đưa ra một giải pháp mà tôi không ghét :)
Có lý thuyết nào tốt về hành vi này không? Trong trường hợp nào thì việc xóa trẻ mồ côi đầu tiên sẽ không hoạt động? Tất cả các ORM có hoạt động theo cách này không?
Chỉ muốn thêm sự thất vọng của tôi vào câu hỏi này. NHibernate là một thất bại tuyệt đối trong trường hợp này. Tôi đã chiến đấu cả ngày với vấn đề ngu ngốc này. Ngay cả những ORM cơ bản nhất xử lý điều này nhiều hơn nữa một cách duyên dáng sau đó NHibernate. Tôi đã hoàn toàn mã hóa xung quanh điều này.Bạn và tôi cả hai phải đã bỏ lỡ một cái gì đó. – JasonCoder