के साथ क्षमा/अस्पष्ट खोज मैं विरासत में प्राप्त डीबी के खिलाफ एक खोज को लागू करने का प्रयास कर रहा हूं। आवश्यकता बताती है कि उपयोगकर्ता किसी ऑब्जेक्ट को नाम से खोजने में सक्षम होना चाहिए। दुर्भाग्य से, किसी ऑब्जेक्ट के साथ जुड़े कई नाम हो सकते हैं।LINQ
ID Name 1 John and Jane Doe 2 Foo McFoo 3 Boo McBoo
यह बहुत आसान एक खोज को लागू करने के लिए जब एक ही नाम प्रत्येक रिकॉर्ड में मौजूद है: उदाहरण के लिए:
var objects = from x in db.Foo
where x.Name.Contains("Foo McFoo")
select x;
हालांकि, जब कई नामों से मौजूद हैं, कि दृष्टिकोण काम नहीं करता।
प्रश्न: क्या यह संभव है एक खोज विधि है कि वापसी होगी रिकॉर्ड एक लिखने के लिए (जॉन और जेन डो) जब कोई खोज शब्दों John Doe
या Jane Doe
का उपयोग करता है?
आप खोज स्ट्रिंग अलग तोड़ने के लिए सफेद स्थान पर एक string.split कर सकता है और तो बस के साथ कई प्रश्नों को चलाएं।सभी परिणाम शामिल हैं और वापस? –
क्या होगा यदि "जॉन स्मिथ" है? क्या आप इसे विभाजित करते हैं और नाम के प्रत्येक भाग की खोज करते हैं? पहला और आखिरी नाम क्या बनाता है? मुझे जो मिल रहा है वह यह है कि वर्तमान स्वरूप में नाम की कोई संरचना नहीं है। – hometoast