2016-04-28 16 views
1

Ich habe versucht, den folgenden Code ...Wie Wie Abfrage in Linq to Entities

public ActionResult Search(string query) 
    { 
     using (DbAccess db=new DbAccess()) 
     { 
      List<Student> studentsList = db.Students.Where(m=>m.name.Contains("d")==query).ToList(); 
      return View(studentsList);     
     } 
    } 

aber schreiben, wenn i "Enthält" verwenden, dann gibt es mir eine Fehlermeldung .. bitte

+2

welcher Fehler? Dies sollte in Ihrer Frage erscheinen. –

+0

'Contains' gibt' bool' zurück und vergleicht es mit einem 'String' (Abfrage). Ich glaube, Sie wollten 'db.Students.Where (m => m.name.Contains (" d ") && m.name == query) .ToList()' – Nkosi

Antwort

0

I don helfen ‚t wissen, was die‚d‘für, aber Sie sollten nur

List<Sudent> studentList = db.Students.Where(m=>m.name.Contains(query)).ToList(); 

tun Oder wenn Sie die Namensabfrage enthalten soll und‚d‘dann

List<Sudent> studentList = db.Students 
    .Where(m=>m.name.Contains("d") && m.name.Contains(query)).ToList(); 

Ich hoffe, das hepls

0

In diesem Fall mit "Enthält" ist nicht notwendig:

public ActionResult Search(string query) 
{ 
    using (DbAccess db=new DbAccess()) 
    { 
     List<Student> studentsList = db.Students.Where(m=>m.name==query).ToList(); 
     return View(studentsList);     
    } 
} 

Oder wenn Sie mehrere Bedingungen verwenden möchten, sollten Sie "& &" Operator zwischen den Bedingungen verwenden, Sie können diesen Code verwenden:

public ActionResult Search(string query) 
{ 
    using (DbAccess db=new DbAccess()) 
    { 
     List<Student> studentsList = db.Students 
     .Where(m=>m.name.Contains("d") && m.name==query).ToList(); 
     return View(studentsList);     
    } 
} 
Verwandte Themen