Saturday, 15 August 2015

c# - EF6 query building to get the first object in the list -


तो मेरे पास कार ऑब्जेक्ट है:

  सार्वजनिक वर्ग की कार {सार्वजनिक इन्ट आईडी} ; सेट; } सार्वजनिक सूची & lt; इंजन & gt; इंजन {प्राप्त; सेट; }} सार्वजनिक वर्ग इंजन {सार्वजनिक इन्ट आईडी (प्राप्त करें; सेट; } सार्वजनिक स्ट्रिंग EngineName {get; सेट; }}  

और मुझे एक चुनिंदा क्वेरी बनाना है जो इस तरह दिखता है:

  IQueryable & lt; कार & gt; Querrybuilder = carDbSet.Include (x = & gt; x.Engine); // सरल उदाहरण  

// यह काम करता है

  अगर (सूर्य की चमक) {querrybuilder = Querrybuilder.Where (ई = & gt; ई.आई.डी. == 5) // सभी रिकॉर्ड जहां carId = 5}  

// यह काम नहीं करता

  if (windIscold) {querrybuilder = querrybuilder.Where (ई = & gt; ई.इंजिन.फिरसऑफ डीफॉल्ट (। इंजननाम == "वी 8") // ई = & gt; ई.इंजिन.फिरसऑफ डीफॉल्ट ()। इंजननाम का मान है शून्य जब डीबी में मेरे पास वी 8 है ..}  

मुझे इस तथ्य के बावजूद इंजन के पहले रिकॉर्ड पर मान्य होना चाहिए कि संबंध कई इंजनों के लिए 1 कार है .. मैं कैसे करूँ यह करो? क्या मैं किसी तरह एक उप-चयन का निर्माण कर सकता हूं जो केवल पहला इंजन रिकॉर्ड लौटाएगा?

आप कोई भी अगर कोई बात नहीं है तो कार के इंजन के लिए कौन सी रिकॉर्ड वी 8 है:

  querrybuilder = querrybuilder.Where (e = & gt; ई.एन्जिइन। Any (a = & gt; A.EngineName == "वी 8"));  

यदि आपको निश्चित रूप से केवल पहली पंक्ति होने की आवश्यकता है, तो यह काफी अधिक जटिल हो जाएगी।


No comments:

Post a Comment