DataContext.GetChangeSet Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
tarafından DataContextizlenen değiştirilmiş nesneleri alır.
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
Döndürülenler
Nesne kümesi üç salt okunur koleksiyon olarak döndürülür.
Örnekler
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()
Açıklamalar
Aşağıdaki noktalara dikkat edin:
GetChangeSet genellikle zamanında SubmitChangesgerçekleştirilen ekleme ve silme işlemlerinin çıkarımı gibi yan etkileri olabilir. Örneğin, aşağıdaki işlemlerde kullanılan nesneler, aşağıdaki listede karşılık gelen çıkarımlı işlemler oluşturabilir:
Add olarak belirleyin InsertOnSubmit.
EntityRef<TEntity> null ataması (büyük olasılıkla için nedeniyle RemoveDeleteOnSubmit).
Küme yabancı anahtar kısıtlamalarına göre sıralanmayabilir.
Veritabanı tarafından oluşturulan değerler (örneğin, birincil ve yabancı anahtar değerleri, zaman damgaları vb.) kullanılamaz. Bu tür bilgiler için veritabanı komut yürütmesi ve belki de alınan bilgilerin yayılması gerekir (örneğin, birincil anahtardan yabancı anahtar).
Değiştirilen nesneler kümesi çağrı sırasında hesaplanır. sonraki çağrıları SubmitChanges , ek değişiklikler yapılırsa farklı bir küme oluşturabilir.
Hiçbir değişiklik yapılmadığında çıkış aşağıdaki gibi görünür:
{Added: 0, Removed: 0, Modified: 0}