using (var tran = repository.Session.BeginTransaction())
{
try
{
repository.Save(entity);
tran.Comit();
}
catch(Exception)
{
tran.Rollback();
throw;
}
}
using (var tran = repository.Session.BeginTransaction())
{
try
{
repository.GetById(id);
tran.Comit();
}
catch(Exception)
{
tran.Rollback();
throw;
}
}
Lorsque je tente d'obtenir l'entité par Id après exception et tran.rollback() dans la première utilisation ... je reçois exception de mise à jour. Donc nhibernate essaie de mettre à jour l'entité de la première utilisation dans la deuxième utilisation.NHibernate état 3 session après rollback()
Pourquoi? J'ai fait le tran.Rollback. Dois-je faire Session.Clear() aussi?
Merci
Ok, mais ma session est gérée par contextemap ioc, et est par appel wcf. Si je dispose de la session alors j'aurai des erreurs ailleurs. – Luka
Quelles exceptions obtenez-vous? Pouvez-vous essayer de les prévenir? Pouvez-vous les poster ici? – gdj
Je reçois GenericAdoException, parce que j'essaie d'insérer une valeur en double, qui doit être unique. Mais ce n'est pas le sujet. J'ai besoin de savoir quelle est la meilleure pratique. Jusqu'à présent, j'ai une gestion des exceptions comme celle ci-dessus. Mais maintenant, je vois que cela ne suffira pas. – Luka