我有一個實體Account
,在正常情況下,它會產生由NHibernate生成的Guid Id。但是,有幾個Account
我想要「硬編碼」,這些帳戶將在任何地方被引用並提供非常特定的功能。Nhibernate在實體上預先設定的ID,不能讓它堅持
我想在配置文件中定義這些對象,並使用預配置的Guid Id來完成,並且在啓動我的應用程序時,檢查這些帳戶是否存在於數據庫中。如果他們不這樣做,我想按照原樣添加它們。如果他們在那裏,我想覆蓋數據庫版本並保存從配置文件中設置的屬性。
我以爲自己,這似乎是ISession.Merge
是爲了什麼,但對象沒有持久。然後我自己想,這一定是ISession.Persist
的目的,但是會拋出一個抱怨持久分離對象的異常。 ISession.SaveOrUpdate
同樣不堅持的對象。
我需要做什麼才能在NHibernate中堅持這幾個「預製」對象?
聽起來像問題是有時你想自己生成ID,而其他時候你想要NH生成ID。我想你需要創建一個自定義的'IIdentifierGenerator',但我從來沒有這樣做過。 – 2013-03-25 02:45:12