तो मेरे पास कार ऑब्जेक्ट है:
सार्वजनिक वर्ग की कार {सार्वजनिक इन्ट आईडी} ; सेट; } सार्वजनिक सूची & 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