J'ai une application ASP.NET qui utilise NHibernate pour mettre à jour de manière transactionnelle quelques tables lors d'une action de l'utilisateur. Il existe une plage de dates dans laquelle une seule entrée dans une table "Réservation" peut être effectuée de telle sorte que des dates exclusives sont spécifiées.Transaction NHibernate et condition de concurrence
Mon problème est de savoir comment éviter une situation de course dans laquelle deux actions de l'utilisateur se produisent presque simultanément et provoquent des entrées multiples dans "Réservation" pour> 1 date. Je ne peux pas vérifier juste avant d'appeler .Commit() parce que je pense que cela restera toujours avec une condition de course?
Tout ce que je peux voir est de faire un contrôle après le commit et rouler le changement de retour manuellement, mais cela me laisse avec un très mauvais goût dans ma bouche! :)
booking_ref (INT) PRIMARY_KEY AUTOINCREMENT
booking_start (DATETIME)
booking_end (DATETIME)
Bien sûr - je ne peux pas croire que j'ai réussi à rater complètement en utilisant des serrures de table, avait un blanc mental! Merci beaucoup. –