Tôi có một đối tượng cha mẹ có quan hệ một đến nhiều với một IList của các đối tượng con. Cách tốt nhất để xóa các đối tượng con là gì? Tôi không xóa phụ huynh. Đối tượng cha mẹ của tôi chứa một IList của các đối tượng con. Dưới đây là các bản đồ cho một đến nhiều mối quan hệ:Làm thế nào để xóa đối tượng con trong NHibernate?
<bag name="Tiers" cascade="all">
<key column="mismatch_id_no" />
<one-to-many class="TGR_BL.PromoTier,TGR_BL"/>
</bag>
Nếu tôi cố gắng để loại bỏ tất cả các đối tượng từ bộ sưu tập sử dụng rõ ràng(), sau đó gọi SaveOrUpdate(), tôi nhận được ngoại lệ này:
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column
Nếu tôi cố gắng để xóa các con đối tượng riêng rẽ sau đó loại bỏ chúng khỏi mẹ, tôi nhận được một ngoại lệ:
deleted object would be re-saved by cascade
Đây là lần đầu tiên của tôi đối phó với việc xóa đối tượng trẻ em trong NHibernate. Tôi đang làm gì sai?
chỉnh sửa: Chỉ cần làm rõ - Tôi KHÔNG cố xóa đối tượng gốc, chỉ là đối tượng con. Tôi có mối quan hệ được thiết lập như một mối quan hệ với cha mẹ. Tôi cũng cần phải tạo mối quan hệ nhiều-với-một trên ánh xạ đối tượng con không?
Chỉ cần làm rõ - Tôi chỉ có mối quan hệ được xác định trên đối tượng Chánh ngay bây giờ. Tôi đã cố gắng để thiết lập các thác trên đối tượng đó để "tất cả" và "tất cả-xóa-mồ côi" với cùng một kết quả cả hai lần. Bạn có nghĩa là tôi cần phải xác định một mối quan hệ nhiều-một trong một đối tượng con? –
Và trong trường hợp này không nghịch đảo = "true" thuộc về cha mẹ hoặc đối tượng con? –
nó thuộc về lớp không giữ khóa ngoại ... thường là phụ huynh. – pmlarocque