MergeOption Sabit listesi
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.
Nesne bağlamı içine yüklenen nesnelerin zaten nesne bağlamındaki nesnelerle nasıl birleştirildiğini belirtir.
public enum class MergeOption
public enum MergeOption
type MergeOption =
Public Enum MergeOption
- Devralma
Alanlar
AppendOnly | 0 | Nesne bağlamında mevcut olmayan nesneler bağlama eklenir. Bir nesne zaten bağlamdaysa, girdideki nesne özelliklerinin geçerli ve özgün değerlerinin üzerine veri kaynağı değerleri yazılmaz. Nesne girişinin durumu ve girdideki nesnenin özelliklerinin durumu değişmez. AppendOnly varsayılan birleştirme seçeneğidir. |
NoTracking | 3 | Nesneler bir Detached durumda tutulur ve içinde ObjectStateManagerizlenmez. Ancak, Entity Framework tarafından oluşturulan varlıklar ve proxy'leri olan POCO varlıkları, ilgili nesnelerin yüklenmesini kolaylaştırmak için nesne bağlamı için bir başvuru tutar. |
OverwriteChanges | 1 | Nesne bağlamında mevcut olmayan nesneler bağlama eklenir. Bir nesne zaten bağlamdaysa, girdideki nesne özelliklerinin geçerli ve özgün değerlerinin üzerine veri kaynağı değerleri yazılır. Nesne girdisinin durumu olarak Unchangedayarlanır, hiçbir özellik değiştirilmiş olarak işaretlenmez. |
PreserveChanges | 2 | Nesne bağlamında mevcut olmayan nesneler bağlama eklenir. |
Açıklamalar
Entity Framework, önbellekte belirli bir varlık anahtarına sahip bir nesnenin yalnızca tek bir örneğini tutar. Nesneler EntityKey , nesnenin kimliğini temsil eden sabit nesnelerdir. Varlık anahtarları, nesne bağlamında kimlik çözümlemesi gerçekleştirmek için kullanılır. Daha fazla bilgi için bkz. Varlık Anahtarları ile Çalışma. Aynı kimliğe sahip bir varlık zaten izleniyorsa, veri kaynağından gelen veriler ve zaten durum yöneticisinde bulunan veriler sorguya MergeOption göre birleştirilir.
Hakkında ek bilgi MergeOption.PreserveChanges
Varlığın durumu ise EntityState.Unchanged, girdideki geçerli ve özgün değerlerin üzerine veri kaynağı değerleri yazılır. Varlığın durumu kalır EntityState.Unchanged ve hiçbir özellik değiştirilmiş olarak işaretlenmez.
Varlığın durumu ise EntityState.Modified, değiştirilen özelliklerin geçerli değerlerinin üzerine veri kaynağı değerleri yazılmaz. Değiştirilmemiş özelliklerin özgün değerlerinin üzerine veri kaynağındaki değerlerle yazılır.
.NET Framework 4'te Entity Framework, değiştirilmemiş özelliklerin geçerli değerlerini veri kaynağından döndürülen değerlerle karşılaştırır. Değerler aynı değilse, özellik değiştirildi olarak işaretlenir.
çağrısı ObjectContext.SaveChangesyaptığınızda veri kaynağında yalnızca değiştirilen özellikler kalıcı olur.