Mapeamento individual do NHibernate, em que os dados da segunda tabela podem ser nulos
Eu tenho um banco de dados existente com a tabela Transações. Adicionei uma nova tabela chamada TransactionSequence, em que cada transação terá apenas um registro. Estamos usando a tabela sequenc, e para contar transações para uma determinada conta. Mapeei isso como um mapeamento um para um, onde TransactionSequence tem uma chave primária de TransactionId.
A restrição é que há um gatilho em vez de acionador na tabela de transações que não permite atualizações de transações canceladas ou lançadas.
Portanto, quando a sequência é calculada e a transação é salva, o NHibernate tenta enviar uma atualização sobre a transação como 'UPDATE Transaction SET TransactionId =? ONDE TransactionId =? '. Mas isso falha por causa do gatilho. Como posso configurar meu mapeamento para que o NHibernate não tente atualizar a tabela Transaction quando uma nova tabela TransactionSequence é inserida?
Mapeamento de transação:
<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>
E o mapeamento de sequência:
<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>
Qualquer ajuda seria muito apreciada...