2010-12-10 42 views
1

J'ai un contexte de données de structure d'entité et une commande SQL qui doivent tous les deux mettre à jour et insérer des objets dans la même base de données. Soit les deux ont besoin de réussir ou je veux annuler l'opération. Cela semble être l'utilisation parfaite des transactions, mais je n'arrive pas à comprendre comment utiliser une transaction commune entre la commande SQL et le contexte de données Entity Framework qui pointe vers une instance SQL Server 2008. Est-ce que quelqu'un sait comment faire ça?Comment puis-je utiliser la portée de transaction EF avec une commande SQL et ne valider que lorsque les deux réussissent?

Répondre

1

Je suppose que vous devriez être en mesure de juste envelopper ces deux actions dans une transaction TransactionScope et ensuite terminer ou revenir en arrière. Le serveur sur lequel vous exécutez cette opération devra probablement prendre en charge le service Distributed Transaction Coordinator.

+1

Vous avez raison. Il me manquait d'activer DTC sur le serveur sur lequel je fonctionnais. Merci! –