J'ai exploré SimpleRepository de Sub Sonic 3 et j'en suis plutôt content mais j'ai une question concernant les transactions. Je suis conscient que l'utilisation de méthodes telles que 'AddMany' et 'DeleteMany' effectuera automatiquement toutes ces opérations au sein d'une seule transaction, mais je me demande s'il est possible de forcer SimpleRepository à effectuer l'ajout ou la mise à jour de deux types d'objets différents transaction. Par exemple, disons que j'ai la notion de deux entités différentes mais liées dans mon application: un utilisateur et un profil. Chaque utilisateur doit avoir un profil et chaque profil appartient à un et un seul utilisateur. Quand un nouvel utilisateur s'inscrit avec mon application, je veux qu'il fournisse les informations de base de l'utilisateur (informations d'identification, nom, e-mail) mais aussi des informations de profil supplémentaires (sur moi, le sexe, le code postal, etc.) d aimer pouvoir effectuer l'ajout de l'objet utilisateur et de l'objet Profile au sein d'une seule transaction, mais comme il nécessite deux appels distincts à la méthode 'Add' avec des paramètres de type différents, je ne suis pas sûr de savoir comment le faire.SimpleRepository de SubSonic peut-il s'inscrire dans une transaction pour deux types d'objets différents?
2
A
Répondre
2
Vous pouvez le faire en utilisant une transaction comme suit:
using (TransactionScope transactionScope = new TransactionScope())
{
using (SharedDbConnectionScope connectionScope = new SharedDbConnectionScope())
{
// Add your user
// Add your profile
transactionScope.Complete();
}
}
1
adam - je pense que le code ci-dessus est correct, mais est en fait dans le mauvais sens, il devrait être:
using (SharedDbConnectionScope connectionScope = new SharedDbConnectionScope())
{
using (TransactionScope transactionScope = new TransactionScope())
{
// Add your user
// Add your profile
transactionScope.Complete();
}
}
acclamations jimi
+0
Merci pour la réponse, je vais essayer cela plus tard. –
Questions connexes
- 1. Subsonic 3 - SimpleRepository
- 2. SubSonic 3.0.0.2/3 | SimpleRepository
- 3. SubSonic SimpleRepository et Dependency Injection
- 4. problème SUBSONIC SimpleRepository avec Category.All
- 5. SubSonic 3.0.0.2 - SimpleRepository Tableaux connexes
- 6. SimpleRepository et booléens avec SubSonic
- 7. Subsonic Erreur de transaction
- 8. Subsonic: SimpleRepository Relation parents-enfants
- 9. SubSonic 3.0.0.3 | SimpleRepository | Propriété/champ de formule
- 10. Relation multiple à multiple Subsonic 3 (SimpleRepository)
- 11. SubSonic 3 SimpleRepository Un-à-plusieurs
- 12. SubSonic 3.0.0.3 | SimpleRepository - OrderByDescending et .Premier()
- 13. SubSonic 3.0.0.3 | SimpleRepository | Générer un xml
- 14. Problème avec RunMigrations dans SimpleRepository Exemple - Subsonic 3
- 15. SubSonic généré DB Schema, les types binaires?
- 16. SubSonic SimpleRepository Mises à jour Parce Null Exceptions de référence
- 17. Différents types de types CATransition disponibles dans l'iPhone sdk
- 18. Comment définir une propriété avec le même nom sur deux types différents dans ROWLEX?
- 19. Comment afficher une vue JSP différente pour différents types d'objets
- 20. différents types d'entité dans un seul fetchedResultsController?
- 21. Comment gérer différents types d'utilisateurs?
- 22. Recherche de l'égalité dans les éléments de deux listes de types différents
- 23. Subsonic 3.0 Simplerepository: Comment exécuter sql simple (CTE)?
- 24. xsd même élément, différents types?
- 25. Types OCaml avec différents niveaux de spécificité
- 26. SubSonic 3.0.0.3 | SimpleRepository - Champ bit à la propriété booléenne
- 27. Planification de deux types d'utilisateurs dans une application Rails
- 28. UNION avec différents types de données dans le serveur db2
- 29. Sélectionnez deux colonnes de types similaires dans une requête Linq
- 30. HttpHandlers personnalisés et différents types de gestionnaires
Merci pour la réponse. J'avais déjà essayé TransactionScope auparavant, mais j'ai eu des erreurs liées à DTS. Il me manquait définitivement SharedDbConnectionScope pour forcer le partage de connexion pour les deux appels d'accès aux données. Maintenant, je reçois une erreur dès que je quitte l'étendue de la connexion en utilisant le bloc. On dirait que la méthode Dispose pour SharedDbConnectionScope provoque des problèmes dans ce scénario. Passant à travers la source maintenant pour essayer de le suivre. –