2010-12-03 18 views
8

Wir haben ein Problem Prüfung Entity Framework 4.Wie Entity Framework Caching

Wir bereitgestellt haben einen WCF-Dienst, implementiert ein EF Datenkontext zu stoppen. Alles funktioniert gut, bis wir die Daten mit SQL Server Studio ändern.

Gibt es eine Möglichkeit, die EF-Zwischenspeicherung unserer Ergebnisse zu stoppen, oder gibt es eine Möglichkeit, das eager-Laden einzuschalten?

Cheers,

James

+0

Meinen Sie, dass Sie laden Entitäten und sie werden nicht irgendwie automatisch von der Datenbank neu geladen? Oder meinen Sie, dass Ihr Datenkontext nicht jedes Mal Daten aus der Datenbank abruft, wenn Sie ein Objekt laden? Können Sie ein Beispiel zeigen, was bei Ihnen nicht funktioniert? – mlibby

+0

Hallo, ich meine, dass unser Datenkontext nicht jedes Mal Daten aus der Datenbank holt, wenn wir ein Objekt laden. Wir möchten es, wenn es möglich ist? – Zack

Antwort

7

Auf der Karteikarte für Ihr Modell, können Sie die Lazy Loading Enabled Eigenschaft festgelegt.

alt text

Durch Code können Sie träges Laden mit der ObjectContextOptions.LazyLoadingEnabled Eigenschaft steuern:

context.ContextOptions.LazyLoadingEnabled = false; 
+0

Ausgezeichnet! - Prost! – Zack

4

In EF4 ich diese stattdessen verwenden hatte:

_context.Configuration.LazyLoadingEnabled = false; 
+0

Funktioniert immer noch in EF6. –