J'ai une base de données existante avec la table Transactions en elle. J'ai ajouté une nouvelle table appelée TransactionSequence où chaque transaction aura finalement un seul enregistrement. Nous utilisons la table de séquence pour compter les transactions pour un compte donné. J'ai mappé cela comme un mappage un-à-un où TransactionSequence a une clé primaire de TransactionId.NHibernate mappage un-à-un où les données de la deuxième table peuvent être nul
La contrainte est qu'il existe un au lieu de déclencheur sur la table de transactions ne permet pas les mises à jour des transactions annulées ou postées. Ainsi, lorsque la séquence est calculée et que la transaction est enregistrée, NHibernate essaie d'envoyer une mise à jour de la transaction comme 'UPDATE Transaction SET TransactionId =? OERE TransactionId =? '. Mais cela échoue à cause du déclencheur. Comment puis-je configurer mon mappage afin que NHibernate n'essaie pas de mettre à jour la table Transaction lorsqu'une nouvelle table TransactionSequence est insérée?
mapping 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>
Et la mise en correspondance de séquence:
<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>
Toute aide serait grandement appréciée ...
Avez-vous un exemple d'utilisation de 2 associations 'many-to-one'? Car l'un d'entre eux doit utiliser la clé étrangère de l'autre table. –