2016-10-20 2 views
-2

Не может неявно преобразовать тип „System.Web.Http.Results.OkNegotiatedContentResult“ в» System .Linq.IQueryable. явного преобразования существует (вы пропали без вести слепок?) ПодписьНе может неявно преобразовать тип <DocAdminPannel.Models.DocMaster> «Явное преобразование существует (вы пропали без вести бросок?)

public class DoctorController : ApiController 
{ 

    Doctor_infoEntities db = new Doctor_infoEntities(); 

    public IQueryable<DocMaster> GetDocMasters(string searchString) 
    { 
     //var Doctor = db.DocMaster.ToList(); 
     if (searchString == "" || searchString == null) 
     { 
      return db.DocMaster; 
     } 
     else 
     { 
      DocMaster Doctor = db.DocMaster.Find(searchString); 
      return Ok(Doctor); 
     } 
    } 
} 
+0

Или этот [Невозможно неявно преобразовать тип. Явное преобразование существует (вам не хватает роли?)] (Http://stackoverflow.com/questions/24479911/cannot-implicitly-convert-type-an-explicit-conversion-exists-are-you-missing-a) – Liam

+0

Или этот [ошибка "существует явное преобразование (вы пропускаете приведение)" при создании объекта:] (http://stackoverflow.com/questions/22837725/error-an-explicit-conversion-exists-are -you-missing-a-cast-come-when-creat) – Liam

+1

В принципе, если бы вы заблудились в своей ошибке, вы бы получили много и много ответов – Liam

ответ

1

Вашего метода является IQueryable<DocMaster>.

Вашего первый оператор возврат возвращает IQueryale<DocMaster> по мере необходимости, но в else вы возвращаете результат Find который является единственным объектом и окружив его с OK функции, которая возвращающая System.Web.Http.Results.OkNegotiatedContentResult объекта.

Заменить его с чем-то вроде:

return db.DocMaster.Where(item => item.SomeProperty.Contains(searchString)); 

Просто немного рефакторинга вы можете изменить эту строку:

if (searchString == "" || searchString == null) 

С этим:

if(string.IsNullOrEmpty(searchString)) //Or also string.IsNullOrWhiteSpace 
Смежные вопросы

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