NHibernate Eins-zu-Eins-Zuordnung, bei der die Daten der zweiten Tabelle null sein können

Ich habe eine vorhandene Datenbank mit der Tabelle Transaktionen. Ich habe eine neue Tabelle mit dem Namen TransactionSequence hinzugefügt, in der jede Transaktion letztendlich nur einen Datensatz enthält. Wir verwenden die Tabelle sequenc, e, um Transaktionen für ein bestimmtes Konto zu zählen. Ich habe dies als eine Eins-zu-Eins-Zuordnung zugeordnet, wobei TransactionSequence einen Primärschlüssel von TransactionId hat.

Die Einschränkung besteht darin, dass in der Transaktionstabelle anstelle eines Auslösers keine Aktualisierungen von stornierten oder gebuchten Transaktionen zulässig sind.

Wenn die Sequenz berechnet und die Transaktion gespeichert wird, versucht NHibernate, eine Aktualisierung der Transaktion zu senden, z. B. 'UPDATE Transaction SET TransactionId =? WO TransactionId =? '. Dies scheitert jedoch am Auslöser. Wie kann ich mein Mapping so konfigurieren, dass NHibernate nicht versucht, die Transaktionstabelle zu aktualisieren, wenn eine neue TransactionSequence-Tabelle eingefügt wird?

Transaktionszuordnung:

<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>

Und das Sequenzmapping:

<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>

Jede Hilfe wäre sehr dankbar ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage