Announcement

Collapse
No announcement yet.

Frage zu TransactionScope

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zu TransactionScope

    Hallo,

    ich habe nur eine simple Frage zum TransactionScope, worauf ich ich beim Suchen, keine eindeutige Antwort gefunden habe:

    Sehe ich das richtig, das folgendes rückgängig gemacht wird:
    [highlight=c#]
    using (TransactionScope ts = new TransactionScope())
    {
    DataContext.SubmitChanges();
    }
    [/highlight]

    ... jedoch die einfache Änderung eines Datenbankfeldes ohne SubmitChanges() nicht?
    [highlight=c#]
    using (TransactionScope ts = new TransactionScope())
    {
    FeldEinerDatenbank = 10;
    }
    [/highlight]

    Danke im voraus,
    Markus

  • #2
    Hallo,

    mit Transaktionen werden eine Menge von Befehlen eingeklammert die bei nicht erfolgreicher Durchführung nicht auf die Datenbank angewendet werden.

    Bei LINQ to SQL werden die Änderungen mit SubmitChanges() an die Datenbank weitergeleitet. Dabei wird eine implizite Transaktion erstellt. Mit dem TransactionScope kann jedoch explizit eine Transaktion angegeben werden.

    Infos: http://msdn.microsoft.com/de-de/library/bb386995.aspx, http://msdn.microsoft.com/de-de/library/bb387002.aspx

    In deinem 2. Beispiel passiert in der Datenbak gar nichts, denn SubmitChanges wird nicht aufgerufen.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Okay Danke. Da ich eine Situation ähnlich dem 2. Bsp habe, habe ich da jetzt einfach ein SubmitChanges dazu geschrieben. Ich denke es sollte funktionieren ... aktuell tut es das zwar noch nicht, aber ich vermute mal der Fehler
      Die Zeile wurde nicht gefunden oder geändert.
      hat nichts mit dem TransactionsScope zu tun... mal schauen vllt werde ich fündig.

      Comment

      Working...
      X