Tôi tiếp tục nhận được một NHibernate.PersistentObjectException khi gọi session.Save() mà là do một proxy uninitialized thông qua để lưu(). Nếu tôi fiddle với các thiết lập cascade của tôi, tôi có thể làm cho nó biến mất, nhưng sau đó các đối tượng con không được lưu lại.NHibernate: uninitialized proxy thông qua để lưu() và cascade
Sửa lỗi duy nhất khác mà tôi đã tìm thấy là bằng cách thêm phần sau vào DefaultSaveEventListener của tôi.
protected override bool ReassociateIfUninitializedProxy(object obj, global::NHibernate.Engine.ISessionImplementor source)
{
if (!NHibernateUtil.IsInitialized(obj))
NHibernateUtil.Initialize(obj);
return base.ReassociateIfUninitializedProxy(obj, source);
}
Đây rõ ràng không phải là giải pháp lý tưởng.
Bất kỳ ý tưởng nào?
Bạn đã bao giờ tìm thấy giải pháp tốt hơn cho điều này chưa? Hiện tại tôi đang sử dụng cách tiếp cận mà bạn đã đề cập đè lên ReassociateIfUninitializedProxy. –
Tôi chưa tìm thấy giải pháp nào ... – jonnii
bạn có thấy vấn đề này với các đối tượng allyour hoặc một đối tượng cụ thể không. nếu một đối tượng cụ thể của nó, bạn có thể cập nhật câu hỏi với mô hình và ánh xạ của bạn không? – Baz1nga