我将 NHibernate 与存储库模式一起使用。存储库具有方法 Insert() 和 Update()。现在,Insert() 调用 Session.Save(entity) 和 Update() 调用 Session.Merge(entity)。我的实体具有 PrimaryKey 的休闲映射:
<id name="Id" column="TBADRPERSON_ID" type="Int32" unsaved-value="0">
<generator class="assigned"/>
</id>
id是我分配的。现在, Session.Save(entity) 首先执行 Select 以查看实体是新的还是已经存在的。但是在 Insert()-Case 中,实体总是新的。我现在正在寻找一种方法来告诉 NHibernate 始终执行插入 - 而不是首先选择然后插入。我已经看到,我可以使用 Version-Property 来做到这一点 - 但我无法更改 Database-Schema。
谢谢你的帮助。