2017-04-30 7 views
0

私はこの句リターンエラーラムダ式の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)); 
      } 

が、私はエラー

*

が マイクロソフトにsystem.linq.IQuerableタイプを変換暗黙的にすることはできません取得しています持っています。エンティティフレームワークコア.Query.IIncludableQuerable

*

答えて

1

var myvar = _context.Person[...]の代わりに、IQueriable<Person> myvar = _context.Person[...]を試してください。

myvarのタイプを確認すると、それはIQuariableではなく、IIncludableQuerableであることがわかります。

+0

それは働いた!ありがとう – Navigator

0

hmmあなたはmyvarの値を上書きしています。 試用版

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! dbContextをごめんなさい。それはmyvarであるはずだった – Navigator