How to use “contains” or “like” in a dynamic linq query?
//edit: this is probably broken, see below
ids = new int[] {1,2,3,4};
dataContext.Table.Where("id.Contains(@0)", ids);
तरफ से: यह गतिशील LINQ भाव में प्लेसहोल्डर का उपयोग करने के अच्छी आदत है।
वास्तव में मुझे लगता है कि मैं इस में गड़बड़: नहीं तो आप अपने आप को LINQ इंजेक्शन हमले (Is Injection Possible through Dynamic LINQ?)
संपादित करने के लिए खोल सकता है। दुर्भाग्यवश मैं इस समय इसका परीक्षण नहीं कर सकता। लेकिन मुझे लगता है कि इस मामले में सही वाक्यविन्यास dataContext.Table.Where("@0.Contains(id)",ids);
होना चाहिए, दूसरी तरफ नहीं, और वह संस्करण आउट-ऑफ़-द-बॉक्स काम करता है।
इस कार्यक्षमता को गतिशील लिंक में जोड़ने के लिए here देखें। इसके लिए आपको पुस्तकालय को संशोधित करने की आवश्यकता है।
धन्यवाद, मैं यह जानता हूँ, लेकिन कॉलम नाम "आईडी" बदल रहा है। मुझे इस कॉलम को द्विपक्षीय रूप से मिलता है। तो मैं स्थिर लिंक का उपयोग नहीं कर सकता। मुझे स्ट्रिंग के लिए गतिशील लिनक लाइब्रेरी का उपयोग करना है जहां उदाहरण के रूप में क्लॉजूल है। [गतिशील लिंक] (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx) –
@Ingenu , संसाधन पढ़ें और आपको पता चलेगा कि डायनामिक लिंक किस बारे में है –