2016-08-30 3 views
0

Я пытаюсь вернуть список, чтобы показать весь мой контент, который находится в таблице, где их идентификатор равен _id (в первом случае заявление в противном случае вернуть все), но я получаю эту ошибкуНевозможно неявно преобразовать тип 'System.Linq.IQueryable' в 'System.Collections.Generic.List

не может неявно преобразовать тип «System.Collections.Generic.List (Project1.Models.EF_Model.Phone_book) к» System.Collections.Generic.List (Project1.Models.EF_Model.Phone_BookEntities1)

и вот мой код

public List<Models.EF_Model.Phone_BookEntities1> Select(int? _id) 
{ 
     var Ref_Phone = new Models.EF_Model.Phone_BookEntities1(); 
     if (_id.HasValue) 
     { 
      return Ref_Phone.Phone_book.Where(p => p.Id == _id); //here error shows up 
     } 
     else 
     { 
      Ref_Phone.Phone_book.ToList(); 
     } 
} 

я пытался добавить .ToList() она не работала, я не знаю, что делать

ответ

3

Вы должны вернуть список Phone_book вместо Models.EF_Model.Phone_BookEntities1 который ваш тип контекста:

public List<Models.EF_Model.Phone_book> Select(int? _id) 
{ 
    var Ref_Phone = new Models.EF_Model.Phone_BookEntities1(); 
    return id.HasValue? Ref_Phone.Phone_book.Where(p => p.Id == _id).ToList():Ref_Phone.Phone_book.ToList(); 

} 
+0

Большое вам спасибо, можно ли написать это в обычной форме IF вместо встроенной версии? Или это то, что нужно сделать в виде строки? –

+0

Конечно, вы можете сделать это, используя предложение 'if'. Я сделал это так, чтобы сделать это короче – octavioccl

0

Просто удалите ( на (Ref_Phone и положить .ToList() на конец там выражения Linq.

+0

сделал все, но это не работает –

+0

Это не очень полезно - точно объяснить, почему это не работает (ошибки компилятора , неожиданные результаты и т. д.), или мы не можем помочь. –

Смежные вопросы