2017-04-30 3 views
0

ich diesenWhere-Klausel return Fehler LAMBDA AUSDRUCK QUERY

var myvar = _context.Person.Include(u => u.oneByNavigation).Include(u => u.twoNavigation); 

if (!String.IsNullOrEmpty(searchString)) 
      { 
       myvar = dbContext.Where(s => s.Fname.Contains(searchString));// 
       dbContext.Where(u => u.Fname.Contains(searchString) || 
       u.Lname.Contains(searchString)); 
      } 

habe ich erhalte den Fehler

*

Kann nicht implicity den Typ system.linq.IQuerable zu Microsoft konvertieren. EntityframeworkCore.Query.IIncludableQuerable

*

Antwort

1

Statt var myvar = _context.Person[...] versuchen Sie IQueriable<Person> myvar = _context.Person[...].

Wenn Sie den Typ von Myvar überprüfen, sehen Sie, dass es sich nicht um ein IQarariable handelt, sondern um ein IIncludableQuerable.

+0

Es funktionierte! Danke – Navigator

0

hmm Sie überschreiben den Wert myvar. Versuchen Sie diese

IQueriable<Person> myvar = _context.Person.Include(u => u.oneByNavigation).Include(u => u.twoNavigation); 

if (!String.IsNullOrEmpty(searchString)) 
      { 
       myvar = myvar // <-- not dbContext 
         .Where(s => s.Fname.Contains(searchString)); 
      } 
+0

yah! Entschuldigung für den dbContext. Es sollte Myvar sein – Navigator