2013-09-24 19 views
7

Utworzono zespół DLL, który zawiera bazę danych edmx dla .Uzyskiwanie kontekstu struktury obiektu w Linqpad?

Stworzyłem odniesienie do tej biblioteki DLL za pomocą linqpad i widzę db i zdolne do uruchamiania kwerend.

Ale chcę przetestować zachowanie właściwości DeferredLoadingEnabled i muszę ustawić ją za pomocą zmiennej kontekstowej.

np

ctx.DeferredLoadingEnabled = false; 

Ale jak mogę uzyskać dostęp ctx?

Linqpad generuje go dla mnie i muszę uzyskać do niego dostęp.

Odpowiedz

9

W Entity Framework 5, odpowiednik właściwości:

ctx.Configuration.LazyLoadingEnabled = false; 

Jeśli jesteś w LINQPad, jesteś już w związku, więc można po prostu powiedzieć:

Configuration.LazyLoadingEnabled = false; 

Ale kiedy kopiuję kod z Visual Studio do LINQPad, często dodaję linię na górze, więc cały kod działa tak samo:

var ctx = this; 
+0

Ale jeśli ustawię to na false - nie robi Wydaj zamówienia ... http://i.stack.imgur.com/Nu0Y5.png, w jaki sposób mogę sprawić, by wyświetlały się zlecenia? –

+0

@RoyiNamir: Wyłączanie Leniwe Ładowanie nie jest tym samym, co wymuszanie Zapasowego Ładowanie. //stackoverflow.com/a/3730555/120955 – StriplingWarrior

2

Podczas korzystania z Linqpad, jesteś acualnie wewnątrz ObjectContext. typ Wystarczy:

this. 

i można uzyskać dostęp do właściwości na swojej ObejctContext.

(też: upewnij się, że używasz "C#" Statement)

+0

http://i.stack.imgur.com /yNTSD.png –

+0

również dla C# instrukcja .... –

+0

sekundę :) im uruchamianie mojej maszyny –

4

Nie ma DeferredLoadingEnabled nieruchomość w Entity Framework - jest to część Linq to SQL nie Linq to entities (EF).

Entity Framework domyślnie odłożyło ładowanie. Połączone tabele zostaną załadowane przy dostępie lub gdy jawnie je załadujesz samodzielnie lub gdy załadujesz je bezpośrednio z pierwszym zasobem (szybkie ładowanie).

+0

+1 za wskazanie, że nie ma właściwości 'DeferredLoadingEnabled' w' ObjectContext' :) –

+0

czy jestem niewidomy? http://books.google.co.il/books?id=t1de8nSVYnkC&pg=PA362&lpg=PA362&dq=%22Możesz+przygotowywać+EF+podobnie jak+L2S+i+pozostają+populowane%22&source=bl&ots=24udQsLg3H&sig = boyr3QG0Lb6K_igKU8kQjDqPRUg & hl = pl & sa = X & ei = 5NBBUrK5L9DasgbYt4CQAw i redir_esc = Y # v = onepage & Q =% 22You% 20can% 20make% 20EF% 20behave% 20like% 20L2S% 20 ° a% 20have% 20it% 20populate% 22 & f = fałszywe –

+0

@RoyiNamir są właściwie nie wiążą.ale L2S to Linq do SQL, * nie * Linq do Entity –

Powiązane problemy