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.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin