DataContext.GetChangeSet Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die geänderten Objekte ab, die von DataContext nachverfolgt werden.
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 in Form von drei schreibgeschützten 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. Rückschlüsse auf Einfüge- und Löschvorgänge, die normalerweise zum Zeitpunkt von SubmitChangesausgeführt werden. Beispielsweise können Objekte, die in den folgenden Vorgängen verwendet werden, entsprechende abgeleitete Vorgänge in der folgenden Liste erstellen:
Add in InsertOnSubmit.
EntityRef<TEntity> Zuweisung zu NULL (möglicherweise aufgrund von Remove zu DeleteOnSubmit).
Die Menge wird möglicherweise nicht gemäß Fremdschlüsseleinschränkungen sortiert.
Datenbankgenerierte Werte (z. B. Primär- und Fremdschlüsselwerte, Zeitstempel usw.) sind nicht verfügbar. Solche Informationen erfordern die Ausführung des Datenbankbefehls und möglicherweise die Weitergabe von abgerufenen Informationen (z. B. Fremdschlüssel vom Primärschlüssel).
Der Satz der geänderten Objekte wird zum Zeitpunkt des Aufrufs berechnet. Nachfolgende Aufrufe von SubmitChanges können einen anderen Satz erzeugen, wenn zusätzliche Änderungen vorgenommen werden.
Die Ausgabe, wenn keine Änderungen vorgenommen wurden, wird wie folgt angezeigt:
{Added: 0, Removed: 0, Modified: 0}