2010-10-15 10 views
10

önlemek Ayrıca, ilk sorgudan döndürülen ikinci sorgudan döndürülen nesneler veritabanından yüklenmez. EF sadece bu anahtar için sahip olduğu nesneyi alacaktır.Varlık Framework 4 Ben bir varlık çerçevesi 4 bağlamı varsa ben gibi bir sorgu çalıştırmak normalde eğer, temel önbelleğe

Soru, bu özelliği kapatmanın en iyi yolu nedir? EF'den veritabanına ihtiyacı olan her bir nesneyi istisnasız olarak yüklemesini söyleyebilir miyim?

Teşekkürler!

cevap

9

Varlığınız için MergeOption ayarını değiştirmeniz gerekir, ör.

db.Invoices.MergeOption = MergeOption.OverwriteChanges; 

OverwriteChanges nesneleri her zaman veri kaynağından yüklenir anlamına gelir. İzlemeyi tamamen devre dışı bırakmak için NoTracking'u da kullanabilirsiniz; bu, verilerde güncellemeler yapmanız veya sorguları tekrar kullanmanız gerekmediğinde performansı artırabilir. Varsayılan değer, gözlemlediğiniz davranışa sahip AppendOnly'dur.