Je rencontre un comportement étrange avec NHibernate. Je récupère une liste d'apprenants à partir d'un dépôt, en les mettant à jour si nécessaire, ce qui est étrange quand je sauvegarde le premier, les modifications apportées à tous les apprenants sont consignées dans la base de données.Comportement d'enregistrement impair avec les référentiels NHibernate et Rhino
[Transaction]
public void UpdateLearner(Learner learner)
{
//UnitOfWork.CurrentSession.Save(learner);
}
Des idées pourquoi? Je n'ai pas activé la mise en cache. Je sais que c'est quelque chose à voir avec la transaction car les changements sont conservés même si l'appel à la méthode de sauvegarde est commenté.
Ceci est mon application:
<class name="Learner" table="ILR_Learner">
<id name="Id" column="ILRLearnerID">
<generator class="native" />
</id>
<property column="LastWarning" name="LastWarning" type="DateTime" />
<property column="Submitted" name="SuccessfulSubmission" type="DateTime" />
<join table="vwLearnerLSCUpload">
<key column="ILRLearnerID" foreign-key="ILRLearnerID"/>
<property column="Dog" type="DateTime" name="Dog"/>
</join>
<join table="Learner">
<key column="Id" foreign-key="ILRLearnerID"/>
<property column="Food" name="Food" type="String" length="20" />
</join>
</class>
Intéressant. Alors, comment puis-je réellement persister juste une de mes entités sans les persister toutes? – Dan
Je souhaite qu'il y avait un moyen de désactiver le suivi des modifications globalement. Ayende avait une explication valable pourquoi, mais je ne peux pas le trouver ATM. – mxmissile