【发布时间】:2018-09-27 09:06:11
【问题描述】:
我有一个 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 查询本身有问题。
如果这还不够,我会提供更多信息。
【问题讨论】:
标签: javascript asp.net ajax asp.net-web-api2