无法隐式转换类型 'System.Web.Http.Results.OkNegotiatedContentResult' 到'System.Linq.IQueryable'。一个 存在显式转换(您是否错过了演员?)
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 :(得分:1)
您的方法签名为IQueryable<DocMaster>
。
您的第一个return语句会根据需要返回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