什麼會導致更改不生成更新語句的現有實體?我有一個更新實體狀態枚舉的命令。它將其從「活動」更改爲「已刪除」。我使用相同的命令(通常)來更新其他實體上的狀態位,沒有問題。我可以更新有關實體的單個字符串而不更改其他任何內容,並且更新過程正常。我可以看到這一切會倒在NHProf ...NHibernate實體未更新
我想我的問題,然後是:
- 什麼會導致NHibernate的不更新實體時枚舉值(和其它...或其他的東西?)被改變了?
- 追蹤這些問題的最佳方式是什麼?
感謝您的幫助!
一條線索。基類型的屬性是:
public virtual EntityStatus Status { get; protected set; }
如果我做的setter公開和直接分配給它,NHibernate的撿起來就好了。當它受到保護時,我會在實體上調用一個方法並更新其中的狀態。這是否提供了任何線索?
有趣的是,在這種情況下,我不確定它會更容易。我已經完成了上百次,而且這些懶散的映射與其他使用完全相同的泛型命令來更新存在於它們都繼承的抽象類上的屬性的實體幾乎完全相同。代碼全部通過完全相同的命令處理程序,使用完全相同的會話/事務管理以及除一個實體類型外的所有工作。這是奇怪的! – Jereme
另一個線索:基本類型的屬性是公共虛擬EntityStatus Status {get;保護組; }如果我將setter公開並直接分配給它,NHibernate就可以很好地完成它。當它受到保護時,我會在實體上調用一個方法並更新其中的狀態。這是否提供了任何線索? – Jereme