यदि मुझे दो परिणाम मिलते हैं IQueryable विभिन्न linq क्वेरी से और मैं उन्हें एक साथ विलय करना चाहता हूं और परिणामस्वरूप एक को वापस करना चाहता हूं, तो यह कैसे करें? उदाहरण के लिए, यदि:परिणाम IQueryable <T> एक साथ विलय कैसे करें?
var q1 = (IQueryable<Person>).....;
var q2 = (IQueryable<Person>).....;
एक साथ q1 और q2 मर्ज करने के लिए कैसे और परिणाम प्राप्त
तरहvar q = (IQueryable<Person>)q1.Union(q2);
मुझे सही अगर मैं गलत हूँ लेकिन IMO इस समाधान में यह ध्यान में रखा जाना चाहिए कि संघ पैरामीटर IENumerable है, इस प्रकार यह डेटाबेस में संघ नहीं करेगा। इसके अलावा यह डेटाबेस में दो बार कॉल करेगा क्योंकि पैरामीटर एक आईनेमरेबल है और भले ही कोई एक IQueryable पास करता है, इसे डेटाबेस में एक और कॉल के रूप में निष्पादित किया जाएगा। बस यह इंगित करना चाहता था कि ऑन-मेमोरी-यूनियन पर प्रदर्शन एक समस्या है या डेटाबेस – fmaccaroni
@fmaccaroni पर कॉल I इस प्रश्न पर आया क्योंकि मैंने वही चीज़ सोचा था। मैंने फिर LINQPad 5 में एक त्वरित परीक्षण किया जो * LINQ-to-SQL का उपयोग करना चाहिए। 'q1.Union (q2)' से चुनें * चुनें * चुनें * q1 यूनियन से चुनें * q2 से चुनें) '। इसलिए, LINQ 'IEUumerable' पैरामीटर को कवर के नीचे कहीं भी' IQueryable' पर रखता है। –