Partager via


DataContext.GetChangeSet Méthode

Définition

Obtient les objets modifiés suivis par le 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

Retours

L'ensemble des objets est retourné sous la forme de trois collections en lecture seule.

Exemples

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()

Remarques

Tenez compte des points suivants :

  • GetChangeSet peut avoir des effets secondaires, tels que l’inférence des opérations d’insertion et de suppression qui sont généralement effectuées au moment de SubmitChanges. Par exemple, les objets utilisés dans les opérations suivantes peuvent créer des opérations déduites correspondantes dans la liste suivante :

  • L’ensemble peut ne pas être classé en fonction des contraintes de clé étrangère.

  • Les valeurs générées par la base de données (par exemple, les valeurs de clé primaire et étrangère, les horodatages, etc.) ne sont pas disponibles. Ces informations nécessitent l’exécution de commandes de base de données et peut-être la propagation des informations récupérées (par exemple, la clé étrangère à partir de la clé primaire).

  • L’ensemble d’objets modifiés est calculé au moment de l’appel. Les appels suivants à SubmitChanges peuvent produire un autre ensemble si des modifications supplémentaires sont apportées.

La sortie lorsqu’aucune modification n’a été apportée s’affiche comme suit :

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

S’applique à