linq - Comparing foreign keys in entity framework 3.5 -


मेरे पास निम्न संरचना के साथ एक संगठन तालिका है

  [dbo]। [संगठन] ( [आईडी] [ईआईटी] पहचान (1,1) नहीं नल, [नाम] [नर्वचर] (50) नहीं, शून्य [फोन] [नर्वचर] (13) नल, [फैक्स] [nchar] (11) नल, [ पता [नर्वचर] (100) नल, [यूआरएल] [वरारार] (50) नल, [ईमेल] [नर्वचर] (50) नल, [स्थापित वर्ष] [nchar] (4) नल, [श्रेणीइडी] [इंट] नल [देश आईडी] [इंट] नल, [देश आईडी] [इंट] नल, [इमेजफाइलनाम] [नर्वचर] (50) नल) [/ आईडी]   

क्योंकि मैं इकाई ढांचा 3.5 का उपयोग कर रहा हूं, मैंने विदेशी कुंजी गुणों को जोड़ने के लिए आंशिक कक्षा का उपयोग किया है (देशवासियों, प्रांतों, ...)

  सार्वजनिक आंशिक श्रेणी संगठन {सार्वजनिक इंट? देश आईआईडी {प्राप्त करें (यदि (देशआरिफेंस। एंटीटीके == रिक्त) रिटर्न रिक्त; रिटर्न (इंट) कंट्री रेफरेयर। एंटीटीकीएन्टीटीकेवल्यूज [0]। वेल्यू; } सेट {if (value! = Null & amp; value! = -1) CountryReference.EntityKey = New EntityKey ("Entities.Countries", "CountryId", मान); अन्य देशरेखा। AntityKey = null; }}   

}

अब मेरे पास कोई क्वेरी है लेकिन यह एक अपवाद फेंकता है:

प्रश्न:

  यदि (एन्युमेरेबल.एनी (ctx.Organizations.Where (s = & gt; s.CountryId == संगठन.देश आईआईडी & amp; amp ;.ProvinceId == संगठन। प्रोविंसआईड & amp; s.CityId == Organization.CityId & amp; ; & Amp; s.Name == संगठन। नाम)))   

अपवाद:

  निर्दिष्ट प्रकार सदस्य 'देश आईडी' LINQ में समर्थित नहीं है इकाइयों के लिए। केवल प्रारंभिक, इकाई के सदस्य, और इकाई नेविगेशन गुण समर्थित हैं।   

मैं नेविगेशन गुणों, किसी भी विचारों की तुलना करना चाहता हूं?

आप आंशिक कक्षा में परिभाषित गुणों को linq-to-entity क्वेरी में उपयोग नहीं कर सकते। आपको सीधे नेविगेशन प्रॉपर्टी का उपयोग करना चाहिए:

  ctx.Organizations.Where (ओ = & gt; ओ। देश.आईडी == someCountryId);    

Comments