Varlıkları EF belleğe almak, değiştirmek ve kaydetmek istediğiniz bir tablo için birincil anahtar kimlikleri listesi var. Eğer Entity Framework, Önbellek kullanarak hala tek bir sorguda birden çok varlıkları tek bir sorguya yükleyin
var entity = dbContext.Entity.Find(id);
entity.SomeColumn = "something";
dbContext.SaveChanges()
Şu anda tek RTT değiştirilecek bütün varlıkları çekmek için böyle bir şey yapıyorum gibi bir şey yapacağını tek id ile
.
int[] ids = new int[] { 1, 2, 3, 4 };
Entity[] entities = dbContext.Entity
.Where(c => ids.Contains(c.PrimaryKey))
.ToArray();
Soru varlık, EF benim db karşı gitmeden önce önbelleğe kontrol etmek bilecek kadar zeki mi? Örneğin, 1-4 numaralı varlıklar bağlama zaten eklenmişse, db sorgulaması yapılmamalıdır.
İlginç sayesinde; Kendi testlerimi yapmak için zamanım olmadı, bu yüzden gönderdim, ama sonra yapmayı planlıyorum. 'Yerel' özelliği kullanışlı görünüyor, ben birden çok kimlikleri alır ve ilk önce' Yerel' özelliği kontrol eder 'Entity.Find' için bir yardımcı işlevi yapacağız düşünüyorum. – Slight