DataContext.GetChangeSet Metodo

Definizione

Ottiene gli oggetti modificati monitorati mediante DataContext.Gets the modified objects tracked by 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

Restituisce

Il set di oggetti viene restituito come tre raccolte di sola lettura.The set of objects is returned as three read-only collections.

Esempi

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

Commenti

Tenere presente le considerazioni seguenti:Note the following considerations:

  • GetChangeSetpotrebbe avere effetti collaterali, ad esempio l'inferenza delle operazioni di inserimento ed eliminazione che in genere vengono SubmitChangeseseguite al momento della.GetChangeSet might have side effects, such as inference of insert and delete operations that are usually performed at the time of SubmitChanges. Ad esempio, gli oggetti utilizzati nelle operazioni seguenti possono creare operazioni derivate corrispondenti nell'elenco seguente:For example, objects that are used in the following operations can create corresponding inferred operations in the following list:

  • Il set non può essere ordinato in base ai vincoli FOREIGN KEY.The set may not be ordered according to foreign key constraints.

  • I valori generati dal database (ad esempio, i valori di chiave primaria ed esterna, i timestamp e così via) non sono disponibili.Database-generated values (for example, primary and foreign key values, timestamps, and so forth) are not available. Tali informazioni richiedono l'esecuzione del comando di database ed eventualmente la propagazione delle informazioni recuperate, ad esempio la chiave esterna della chiave primaria.Such information requires database command execution and perhaps the propagation of retrieved information (for example, foreign key from primary key).

  • Il set di oggetti modificati viene calcolato al momento della chiamata.The set of changed objects is computed at the time of the call. Le chiamate successive SubmitChanges a possono produrre un set diverso se vengono apportate modifiche aggiuntive.Subsequent calls to SubmitChanges can produce a different set if additional changes are made.

Quando non è stata apportata alcuna modifica, viene restituito come segue:Output when no changes have been made appears as follows:

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

Si applica a