類似的問題已被問到,但我沒有找到答案,所以在這裏。我有以下流利的關係映射:流利NHibernate級聯刪除錯誤
HasMany<UserFilter>(x => x.UserProjectFilters)
.KeyColumns.Add("UserProfileID")
.Cascade.All()
.AsSet()
.Inverse()
.Cache.ReadWrite();
當我嘗試刪除父(過濾器實體)雖然,刪除不級聯;我看到這個異常:「DELETE語句與REFERENCE約束衝突......」。在NH Profiler中,我看到正在爲父級生成Delete語句,但沒有爲該子級生成。我希望在父母之前執行任何孩子的刪除操作。我究竟做錯了什麼?
這裏的關係UserProfileFilter結束:
References<Filter>(x => x.Filter)
.Column("FilterID")
.LazyLoad()
.Cascade.SaveUpdate();
謝謝! 安迪
嘗試取出孩子的引用中的.Cascade.SaveUpdate()回到過濾器,看看有什麼。如果你簡化你的關係,它可以幫助你解決你的問題。如果你看SQL,它是否試圖首先刪除父(Filter)? – 2011-03-31 17:36:07