Einfügen von Daten in mehreren Tabellen in SQL Server 2008
Habe ich 3 verschiedene Tabellen in meiner Datenbank, wie unten;
Table 1:
ResourceID | ResourceTitle| ResourceCategory
Table 2:
DocumentID| DocName | DocSize
Table 3:
ResourceID | DocumentID
Nun möchte ich hinzufügen, dass einige Werte in den vorstehenden Tabellen (mit Hilfe eines C# .ASP.NET) sind.
- Der ersten Tabelle habe ich eine Zeile Hinzugefügt werden, die in der Resource
Tabelle(Tabelle 1). - Der zweiten Tabelle habe ich mehrere Zeilen Hinzugefügt werden, in die
Dokument-Tabelle(Tabelle 2). - Der Dritten Tabelle halten muss alle ids aus den ersten beiden Tabellen als Fremdschlüssel in ResourceDocument Tabelle(Tabelle 3).
Alle Prozesse, die durchgeführt werden müssen, in einer einzigen Transaktion, so würde es eine Schleife für die zweite Tabelle die Daten in meine asp.net c# - Klasse.
das problem, das ich habe, ist die Suche nach dem richtigen Weg zur Abwicklung der Transaktion, um diese Arbeit zu tun, auch ich muss sicherstellen, während diese Prozesse, die ausgeführt werden, es nicht lassen, die andere Benutzer ändern diese Daten.
Ihre Hilfe würde geschätzt.
- was genau ist das problem mit der richtigen Art und Weise zu handhaben Transaktion? Wenn Sie irgendeine Art von ORM, gibt es eine große Möglichkeit, dass es verwendet die unit of work pattern und alle Ihre Datenbank-Aktionen wickelte die Transaktion über commit, wenn nicht, können Sie
TransactionScope
zu handhaben Transaktionsbereich manuell. - Wenn Sie mithilfe von Linq können Sie all Ihre änderungen, und am Ende von je Schleife Besetzung der SubmitChanges () - Methode. Ich bin mir nicht sicher, wo das Problem ist? msdn.microsoft.com/en-us/library/bb655883(v=vs. 90).aspx
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie der Tabelle geschätzten Parameter in gespeicherten Prozeduren.
Dies ist eine gute LINK wie erstellen & verwenden TVP in gespeicherten Prozeduren.
Dann müssen Sie gehen TVP von Ihrer Seite/form.
Können Sie einen Blick HIER um eine Idee zu bekommen, dass für.
Beispiel für die Erstellung von Tabelle Typ :
Ihre gespeicherte Prozedur sollte das so sein
versuchen, diese
Können Sie mit der Transaktion Umfang, wie Sie können, finden Sie unter diesem link
http://www.dotnetjalps.com/2010/05/using-transactions-with-linq-to-sql.html