Ich habe Sub Sonic 3's SimpleRepository erforscht und war ziemlich zufrieden damit, habe aber eine Frage zu Transaktionen. Ich bin mir bewusst, dass die Verwendung von Methoden wie "AddMany" und "DeleteMany" automatisch alle diese Operationen innerhalb einer einzigen Transaktion durchführen, aber ich frage mich, ob es möglich ist, das SimpleRepository zu zwingen, das Hinzufügen oder Aktualisieren von zwei verschiedenen Objekttypen innerhalb derselben Transaktion durchzuführen. Nehmen wir zum Beispiel an, dass ich in meiner Anwendung zwei verschiedene, aber verwandte Entitäten habe: einen Benutzer und ein Profil. Jeder Benutzer muss ein Profil haben, und jedes Profil gehört nur zu einem einzigen Benutzer. Wenn sich ein neuer Benutzer bei meiner Anwendung anmeldet, möchte ich, dass er die grundlegenden Benutzerinformationen (Anmeldedaten, Name, E-Mail) angibt, aber auch einige zusätzliche "Profil"-Informationen (über mich, Geschlecht, Postleitzahl usw.) Ich möchte das Hinzufügen des Benutzer- und des Profilobjekts in einer einzigen Transaktion durchführen können, aber da dies zwei verschiedene Aufrufe der Methode "Add" mit Parametern unterschiedlichen Typs erfordert, bin ich mir nicht sicher, wie das funktionieren soll.
Antworten
Zu viele Anzeigen?
jimi
Punkte
89
Adam - ich denke, dass der obige Code korrekt ist, aber eigentlich ist er falsch herum, er sollte es sein:
using (SharedDbConnectionScope connectionScope = new SharedDbConnectionScope())
{
using (TransactionScope transactionScope = new TransactionScope())
{
// Add your user
// Add your profile
transactionScope.Complete();
}
}
Prost jimi