DataContext.GetChangeSet Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera zmodyfikowane obiekty śledzone przez DataContextelement .
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
Zwraca
Zestaw obiektów jest zwracany jako trzy kolekcje tylko do odczytu.
Przykłady
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()
Uwagi
Zwróć uwagę na następujące zagadnienia:
GetChangeSet mogą mieć skutki uboczne, takie jak wnioskowanie operacji wstawiania i usuwania, które są zwykle wykonywane w czasie SubmitChanges. Na przykład obiekty używane w następujących operacjach mogą tworzyć odpowiednie operacje wnioskowane na poniższej liście:
Add do InsertOnSubmit.
EntityRef<TEntity> przypisanie do wartości null (prawdopodobnie z powodu RemoveDeleteOnSubmitwartości .
Zestaw może nie być uporządkowany zgodnie z ograniczeniami klucza obcego.
Wartości generowane przez bazę danych (na przykład wartości klucza podstawowego i obcego, znaczniki czasu itd.) nie są dostępne. Takie informacje wymagają wykonania polecenia bazy danych i być może propagacji pobranych informacji (na przykład klucza obcego z klucza podstawowego).
Zestaw zmienionych obiektów jest obliczany w momencie wywołania. Kolejne wywołania umożliwiające SubmitChanges utworzenie innego zestawu, jeśli zostaną wprowadzone dodatkowe zmiany.
Dane wyjściowe, gdy nie wprowadzono żadnych zmian, są wyświetlane w następujący sposób:
{Added: 0, Removed: 0, Modified: 0}