[asp.net] c# / sql transactions

Pagina: 1
Acties:

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22:51
Ik was laatst wat aan het experinteren, en toen kwam ik er achter dat je in c# ook transactions kan maken. Nu heb ik dus een pagina die data in een aantal tabellen moet schrijven, en nu vroeg ik me af wat als beter ervaren wordt:

1. Meerdere SqlCommands in een c# transaction binnen je pagina.
2. Alle variabelen in 1 keer naar sql server dumpen en daar een transaction uitvoeren

Meningen?

Roomba E5 te koop


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Dat hangt eigenlijk volledig af van de situatie.

Je hebt eigenlijk 3 soorten transacties:

- transacties in ADO.NET (dmv de SqlCommand/OleDbCommand en SqlTransaction/OleDbTransaction objecten)
- transacties in T-SQL (op SQL Server niveau dus)
- enterprise transacties (de Transacties worden beheerd door de DTC

Als je een gedistribueerd systeem hebt, kan je beter enterprise transacties gebruiken. Op die manier geef je dmv attributes aan welk transactie-model je class nodig heeft. De transactie wordt verder beheerd door de Distributed Transaction Coordinator (DTC)

Als je een stored procedure hebt, waarbinnen bepaalde INSERT / UPDATE /DELETE statements staan, die atomair moeten uitgevoerd worden, dan gebruik je natuurlijk best een transactie op T-SQL niveau.

Op ADO.NET niveau kan je natuurlijk ook je transacties gaan verzorgen als dat voor jouw situatie logischer is.

Je moet echter wel weten dat je niet beperkt bent tot 1 transactie-technologie. Je kan perfect verschillende manieren om met transacties te werken combineren.

https://fgheysels.github.io/