48
Je voudrais savoir quelle est la meilleure façon d'implémenter des transactions avec DBContext
. En particulier,EF Code First DBContext et Transactions
- Est-ce que
DbContext.SaveChanges
met en œuvre une transaction interne si je change plusieurs entités? - Si je veux appeler
DbContext.SaveChanges
plusieurs fois (même contxet/contxets différents), comment la transaction peut être réalisée?
Assurez-vous à l'aide de SQL Server 2008 ou plus tard comme la base de données (ou avoir le service MSDTC en cours d'exécution sur le client). Les versions précédentes vont escalader la transaction vers une transaction distribuée sur le second 'SaveChanges'. Cela est dû à la façon dont 'DbContext' gère en interne l'ouverture et la fermeture de sa connexion. – Lukazoid
Est-il possible d'obtenir une identité à partir des premiers changements de sauvegarde? Je vois toujours Id = 0. – JarrettV
@JarrettV - Je pense que votre problème est dû aux paramètres IsolationLevel. L'abaisser peut aider ... – Sunny