2013-09-24 6 views
7

मैंने DLL असेंबली बनाई है जिसमें northwind डेटाबेस के लिए edmx है।लिंकपैड में इकाई ढांचा संदर्भ प्राप्त करना?

मैंने linqpad के माध्यम से उस डीएलएल का संदर्भ बनाया और मैं डीबी देखता हूं और क्वेरी चलाने में सक्षम हूं।

लेकिन - मैं DeferredLoadingEnabled संपत्ति के व्यवहार का परीक्षण करना चाहता हूं और मुझे इसे संदर्भ चर के माध्यम से सेट करने की आवश्यकता है।

जैसे

ctx.DeferredLoadingEnabled = false; 

लेकिन मैं ctx कैसे उपयोग कर सकते हैं?

linqpad इसे मेरे लिए उत्पन्न करता है, और मुझे इसे एक्सेस करने की आवश्यकता है।

उत्तर

9

इकाई की रूपरेखा 5 में, बराबर संपत्ति है:

ctx.Configuration.LazyLoadingEnabled = false; 

आप LINQPad में हैं, तो आप संदर्भ में पहले से ही कर रहे हैं, तो आप सिर्फ कह सकते हैं:

Configuration.LazyLoadingEnabled = false; 

लेकिन जब मैं विजुअल स्टूडियो से LINQPad तक कोड कॉपी कर रहा हूं, तो मैं अक्सर शीर्ष पर एक पंक्ति जोड़ता हूं, इसलिए सभी कोड समान काम करते हैं:

var ctx = this; 
+0

लेकिन अगर मैं इसे गलत पर सेट करता हूं - यह नहीं करता है आदेश प्राप्त करें ... http://i.stack.imgur.com/Nu0Y5.png। मैं इसे ऑर्डर कैसे दिखा सकता हूं? –

+0

@RoyiNamir: आलसी लोडिंग को अक्षम करना उत्सुक लोडिंग को मजबूर करने जैसा नहीं है। http: //stackoverflow.com/a/3730555/120955 – StriplingWarrior

2

लिंकपैड का उपयोग करते समय, आप ऑब्जेक्ट कॉन्टेक्स्ट के अंदर 0-हैं। बस के प्रकार:

this. 

और आप पर अपने ObejctContext गुण पहुँच सकते हैं।

:

+0

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

+0

सी # कथन के लिए भी .... –

+0

बस एक सेकंड :) मैं अपनी मशीन –

4

Entity Framework में कोई DeferredLoadingEnabled संपत्ति नहीं है (यह भी सुनिश्चित करें कि आप "सी # वक्तव्य" उपयोग करते हैं) - यह Linq to SQL का हिस्सा है, नहीं Linq to entities (EF)।

इकाई फ्रेमवर्क डिफ़ॉल्ट रूप से लोडिंग स्थगित कर दिया गया है। लिंक्ड टेबल एक्सेस पर लोड किए जाएंगे या जब आप स्पष्ट रूप से उन्हें स्वयं लोड करेंगे या जब आप उन्हें पहले संसाधन (उत्सुक लोडिंग) के साथ सीधे लोड करेंगे।

+0

+1 इंगित करने के लिए 'ऑब्जेक्ट कॉन्टेक्स्ट' पर कोई' DeferredLoadingEnabled' गुण नहीं है :) –

+0

क्या मैं अंधा हूं? http://books.google.co.il/books?id=t1de8nSVYnkC&pg=PA362&lpg=PA362&dq=%22You+can+make+EF+behave+like+L2S+and+have+it+populate%22&source=bl&ots=24udQsLg3H&sig = boyr3QG0Lb6K_igKU8kQjDqPRUg & hl = hi & सा = एक्स और Ei = 5NBBUrK5L9DasgbYt4CQAw और redir_esc = y # v = onepage & q =% 22You% 20can% 20make% 20EF% 20behave% 20like% 20L2S% 20and% 20have% 20it% 20populate% 22 & f = झूठी –

+0

@RoyiNamir आप ठीक ढंग से बाध्य नहीं कर रहे हैं।लेकिन एल 2 एस लिंक से एसक्यूएल है, * नहीं * इकाइयों के लिए लिंक –

संबंधित मुद्दे