我有一個現有的數據庫中的表事務。我添加了一個名爲TransactionSequence的新表,其中每個事務最終只有一條記錄。我們使用序列表來計算給定帳戶的交易。我已將其映射爲TransactionSequence具有TransactionId主鍵的一對一映射。NHibernate一對一的映射,其中第二個表的數據可以爲空
約束條件是在事務表上有一個而不是觸發器,不允許更新已取消或已提交的事務。因此,當序列被計算並且事務被保存時,NHibernate會嘗試發送一個事務更新,如'UPDATE Transaction SET TransactionId =? Where TransactionId =?'。但是由於觸發器而失敗。如何配置我的映射,以便在插入新的TransactionSequence表時NHibernate不會嘗試更新Transaction表?
交易映射:
<class name="Transaction" table="Transaction" dynamic-update="true" select-before-update="true">
<id name="Id" column="ID">
<generator class="native" />
</id>
<property name="TransactionTypeId" access="field.camelcase-underscore" />
<property name="TransactionStatusId" column="DebitDebitStatus" access="field.camelcase-underscore" />
<one-to-one name="Sequence" class="TransactionSequence" fetch="join"
lazy="false" constrained="false">
</one-to-one>
</class>
和序列映射:在NHibernate的
<class name="TransactionSequence" table="TransactionSequence" dynamic-update="true">
<id name="TransactionId" column="TransactionID" type="Int32">
<generator class="foreign">
<param name="property">Transaction</param>
</generator>
</id>
<version name="Version" column="Version" unsaved-value="-1" access="field.camelcase-underscore" />
<property name="SequenceNumber" not-null="true" />
<one-to-one name="Transaction"
class="Transaction"
constrained="true"
foreign-key="fk_Transaction_Sequence" />
</class>
任何幫助將不勝感激......
你有沒有關於如何使用2`多對一'關聯的例子?導致其中一個需要使用另一個表的外鍵。 – 2015-07-04 20:17:52