У меня есть существующая база данных с таблицей Transactions. Я добавил новую таблицу под названием TransactionSequence, где каждая транзакция будет иметь в итоге только одну запись. Мы используем таблицу последовательностей для подсчета транзакций для данной учетной записи. Я сопоставил это как взаимно однозначное отображение, где TransactionSequence имеет первичный ключ TransactionId.
Ограничение заключается в том, что вместо триггера в таблице транзакций нет обновлений отмененных или размещенных транзакций.
Итак, когда последовательность вычисляется и транзакция сохраняется, NHibernate пытается отправить обновление транзакции, например "UPDATE Transaction SET TransactionId =? WHERE TransactionId =? '. Но это не удается из-за триггера. Как настроить отображение, чтобы NHibernate не попытался обновить таблицу транзакций при вставке новой таблицы TransactionSequence?
Отображение транзакций:
<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>
И отображение последовательности:
<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>
Любая помощь будет принята с благодарностью...