Fournit l'accès aux objets modifiés dont le suivi est effectué par DataContext.
Assembly : System.Data.Linq (dans System.Data.Linq.dll)
Public Function GetChangeSet As ChangeSet
public ChangeSet GetChangeSet()
public:
ChangeSet^ GetChangeSet()
member GetChangeSet : unit -> ChangeSet
Valeur de retour
Type : System.Data.Linq.ChangeSetL'ensemble des objets est retourné sous la forme de trois collections en lecture seule.
Tenez compte des considérations suivantes :
-
GetChangeSet peut avoir effets secondaires, tels que l'inférence d'opérations d'insertion et de suppression qui sont habituellement effectuées au moment de SubmitChanges. Par exemple, les objets qui sont utilisés dans les opérations suivantes peuvent créer des opérations déduites correspondantes dans la liste suivante :
-
Assignation de EntityRef<TEntity> à null (probablement suite à la déduction de Remove en DeleteOnSubmit.
-
L'ensemble n'est peut-être pas ordonné selon les contraintes de clé étrangère.
-
Les valeurs générées par la base de données (par exemple, les valeurs des clés primaire et étrangère, les horodatages, etc.) ne sont pas disponibles. De telles informations requièrent l'exécution de commande de base de données et peut-être la propagation d'informations récupérées (comme la clé étrangère à partir de la clé primaire).
-
L'ensemble des objets modifiés est traité au moment de l'appel. Les appels ultérieurs à SubmitChanges peuvent produire un ensemble différent si des modifications supplémentaires sont apportées.
La sortie apparaît comme suit lorsque aucune modification n'a été apportée :
{Added: 0, Removed: 0, Modified: 0}
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()
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();
.NET Framework
Pris en charge dans : 4, 3.5.NET Framework Client Profile
Pris en charge dans : 4Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.