У меня есть один метод WebAPI, который возвращает IQueryable «сложного» объекта, написанного так:
[Route("api/INV_API/deptSelect")]
public IQueryable<DEPTNAME_DESCR> GetDistinctDeptSelect([FromUri] string q)
{
if (q != null)
{
var query = (from d in db.DEPTs
where d.DESCR.Contains(q) || d.DEPTNAME.Contains(q)
select new DEPTNAME_DESCR { DEPTNAME = d.DEPTNAME, DESCR = d.DESCR }).Distinct();
return query;
}
else
{
var query = (from d in db.DEPTs
select new DEPTNAME_DESCR { DEPTNAME = d.DEPTNAME, DESCR = d.DESCR }).Distinct();
return query;
}
}
При использовании AJAX для GET из этого метода я получаю некоторый вид массива JavaScript, например:
У меня есть другой метод WebAPI, который я пытаюсь вернуть из формы IQueryable<string>
Первоначально список строк:
[HttpGet]
[Route("api/INV_API/requesterIdSelect2")]
public IQueryable<string> GetListOfUserId([FromUri] string q)
{
var result = db.Database.SqlQuery<string>("SelectUSERIDFromSM @searchterm", new SqlParameter("@searchterm", q)).ToList();
return result.AsQueryable<string>();
}
Однако, когда я проверяю, что возвращается из AJAX GET, это выглядит так:
Я пытаюсь понять, что я сделал неправильно во втором методе.Нужно ли сериализовать все, что я возвращаю?Или что-то не так с моим SQL-запросом.
Я предоставлю больше информации, если этого недостаточно.