我使用NHibernate和Repository-Pattern。存儲庫具有方法Insert()和Update()。 現在,Insert()調用Session.Save(實體)和Update()調用Session.Merge(實體)。 我的實體擁有的PrimaryKey的休耕映射:告訴NHibernate執行插入語句
<id name="Id" column="TBADRPERSON_ID" type="Int32" unsaved-value="0">
<generator class="assigned"/>
</id>
將ID從我分配。現在,Session.Save(實體)首先執行Select來查看,如果實體是新的或已經存在的話。但在Insert()中,實體總是新的。我正在尋找一種方法來告訴NHibernate總是做一個插入 - 首先是一個選擇,然後是一個插入。 我已經看到,我可以用Version-Property來做到這一點 - 但我無法更改數據庫架構。
感謝您的任何幫助。