"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं लिनक्यू क्वेरी में डायनेमिक रूप से कॉलम का चयन कैसे कर सकता हूं?

मैं लिनक्यू क्वेरी में डायनेमिक रूप से कॉलम का चयन कैसे कर सकता हूं?

2025-02-26 को पोस्ट किया गया
ब्राउज़ करें:114

How Can I Dynamically Select Columns in LINQ Queries?

] हालांकि, एक समाधान है जिसमें गतिशील रूप से लैंब्डा अभिव्यक्तियों को चुनने के लिए पारित करना शामिल है। निम्नलिखित डेटा वर्ग पर विचार करें:

सार्वजनिक वर्ग डेटा { सार्वजनिक स्ट्रिंग फील्ड 1 {सेट; सार्वजनिक स्ट्रिंग फील्ड 2 {सेट; सार्वजनिक स्ट्रिंग फील्ड 3 {सेट; सार्वजनिक स्ट्रिंग फील्ड 4 {सेट; सार्वजनिक स्ट्रिंग फील्ड 5 {सेट; }

] ] { var xparameter = expression.parameter (टाइपोफ़ (डेटा), "ओ"); var xnew = expression.new (टाइपोफ़ (डेटा)); var bindings = fields.split (',') .Select (o => o.trim ()) .Select (o => { var mi = typeOf (डेटा) .getProperty (O); var xoriginal = expression.property (xparameter, mi); वापसी अभिव्यक्ति। }); var xinit = expression.memberinit (xnew, bindings); var lambda = expression.lambda > (Xinit, Xparameter); लौटें lambda.compile (); }
public class Data
{
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
    public string Field4 { get; set; }
    public string Field5 { get; set; }
}
यह निर्दिष्ट क्षेत्र के साथ डेटा ऑब्जेक्ट का एक अनुक्रम लौटाएगा। ध्यान दें कि यह तकनीक उन स्थितियों के लिए उपयुक्त है जहां चयनित क्षेत्र संकलन समय पर ज्ञात नहीं है। यदि चयनित क्षेत्र स्थिर है, तो नियमित लैम्ब्डा अभिव्यक्तियों या प्रतिबिंब-आधारित विधियों का उपयोग करना अधिक कुशल है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3