2010-10-12 9 views

उत्तर

29

आप SqlMethods.Like(matchExpression,pattern)

var results = from c in db.costumers 
       where SqlMethods.Like(c.FullName, "%"+FirstName+"%,"+LastName) 
       select c; 

एसक्यूएल करने के लिए LINQ के बाहर इस पद्धति के उपयोग का उपयोग हमेशा एक NotSupportedException अपवाद होगा सकता है।

+0

मेरे पास इस के साथ बंदर करने का समय नहीं था: जहां SqlMethods.Like (s.Email, id + "%") कि एक त्रुटि के माध्यम से (हाँ मेरे पास सिस्टम का उपयोग है। डेटा.लिंक। SQL क्लाइंट;, मैं बदल गया जहां s.Email.Contains (id) भले ही यह वही नहीं है, मैं इसे –

26

स्ट्रिंग का उपयोग करने का प्रयास करें। कंटेनर() अंत के साथ संयुक्त।

var results = from c in db.Customers 
       where c.FullName.Contains (FirstName) && c.FullName.EndsWith (LastName) 
       select c; 
+0

मैं इसे एसक्लएम विधि –

+2

पर पसंद करता हूं, 'जैसे' क्वेरी के विपरीत, यह मामला असंवेदनशील नहीं है। –

+0

एंटिटी फ्रेमवर्क का उपयोग करते हुए यह क्वेरी SQL LIKE कथन में अनुवादित है, इसलिए इसकी केस संवेदनशीलता कॉलम/तालिका/डीबी के संयोजन पर निर्भर करती है। –

2
where c.FullName.Contains("string") 
1

आप उपयोग कर सकते हैं:

string[] example = { "sample1", "sample2" }; 
var result = (from c in example where c.Contains("2") select c); 
// returns only sample2 
11

इस

var results = db.costumers.Where(X=>X.FullName.Contains(FirstName)&&(X=>X.FullName.EndsWith(LastName)) 
          .Select(X=>X); 
+3

के साथ बदलकर काम करने के लिए काम कर सकता हूं, क्यों डबल के बजाय '&&' ऑपरेटर का उपयोग नहीं किया जा रहा है? – Max

+0

@MaxMommersteeg: धन्यवाद, अपडेट किया गया –

+0

@max क्यों नहीं 2 जहां खंड? यदि प्रत्येक 'जहां' खंड अपनी लाइन पर है, तो यह बहुत लंबी स्थितियों में कोड को और अधिक पठनीय बना देता है। – Phil1970

3
String [] obj = (from c in db.Contacts 
          where c.FirstName.StartsWith(prefixText) 
          select c.FirstName).ToArray(); 
      return obj; 

StartsWith() और EndsWith() की तरह की कोशिश करो यहाँ आप एक बहुत मदद कर सकते हैं। यदि आप फ़ील्ड के बीच डेटा ढूंढना चाहते हैं, तो इसमें() का उपयोग किया जा सकता है।

0

var StudentList = dbContext.Students.SqlQuery("Select * from Students where Email like '%gmail%'").ToList<Student>();

उपयोगकर्ता Linq में जैसी क्वेरी के इस का उपयोग करें और छात्र मॉडल भर सकते हैं।

+0

यदि उपयोगकर्ता से इनपुट आते हैं तो एसक्यूएल इंजेक्शन में प्रोन ... – Phil1970

संबंधित मुद्दे