DataContext.GetChangeSet Methode

Definition

Ruft die geänderten Objekte ab, die von DataContext.

public:
 System::Data::Linq::ChangeSet ^ GetChangeSet();
public System.Data.Linq.ChangeSet GetChangeSet();
member this.GetChangeSet : unit -> System.Data.Linq.ChangeSet
Public Function GetChangeSet () As ChangeSet

Gibt zurück

Der Satz von Objekten wird als drei schreibgeschützte Auflistungen zurückgegeben.

Beispiele

Northwnd db = new Northwnd(@"c:\northwnd.mdf");

var custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach (Customer custObj in custQuery)
{
    Console.WriteLine("CustomerID: {0}", custObj.CustomerID);
    Console.WriteLine("\tOriginal value: {0}", custObj.City);
    custObj.City = "Paris";
    Console.WriteLine("\tUpdated value: {0}", custObj.City);
}

ChangeSet cs = db.GetChangeSet();
Console.Write("Total changes: {0}", cs);
// Freeze the console window.
Console.ReadLine();

db.SubmitChanges();
Dim db As New Northwnd("c:\northwnd.mdf")

Dim custQuery = _
    From cust In db.Customers _
    Where (cust.City = "London") _
    Select cust

For Each custObj As Customer In custQuery
    Console.WriteLine("CustomerID: {0}", custObj.CustomerID)
    Console.WriteLine(vbTab & "Original value: {0}", custObj.City)
    custObj.City = "Paris"
    Console.WriteLine(vbTab & "Updated value: {0}", custObj.City)
Next

Dim cs As ChangeSet = db.GetChangeSet()
Console.Write("Total changes: {0}", cs)
' Freeze the console window.
Console.ReadLine()

db.SubmitChanges()

Hinweise

Beachten Sie die folgenden Überlegungen:

  • GetChangeSet kann Nebenwirkungen haben, z. B. Die Ableitung von Einfüge- und Löschvorgängen, die in der Regel zum Zeitpunkt der SubmitChangesAusführung ausgeführt werden. Beispielsweise können Objekte, die in den folgenden Vorgängen verwendet werden, entsprechende abgeleitete Vorgänge in der folgenden Liste erstellen:

  • Der Satz kann nicht gemäß Fremdschlüsseleinschränkungen sortiert werden.

  • Datenbankgenerierte Werte (z. B. Primär- und Fremdschlüsselwerte, Zeitstempel usw.) sind nicht verfügbar. Solche Informationen erfordern die Ausführung von Datenbankbefehlen und möglicherweise die Verteilung abgerufener Informationen (z. B. Fremdschlüssel aus Primärschlüssel).

  • Der Satz geänderter Objekte wird zum Zeitpunkt des Aufrufs berechnet. Nachfolgende Aufrufe SubmitChanges können einen anderen Satz erzeugen, wenn weitere Änderungen vorgenommen werden.

Ausgabe, wenn keine Änderungen vorgenommen wurden, wird wie folgt angezeigt:

{Added: 0, Removed: 0, Modified: 0}

Gilt für: