返回多个属性查询 asp.net
Returning multiple attributes query asp.net
在下面的函数中,我正在尝试 return 多个属性形成多个 tables。
Parent table > Child table
AspNetUser > 广告
广告 > 移动广告
public async Task<IHttpActionResult> GetAd(int id)
{
Ad add = await db.Ads.FindAsync(id);
if (add == null)
{
return NotFound();
}
var ret = (from ad in db.Ads
where ad.Id.Equals(id)
orderby ad.time
select new
{
title = ad.title,
postedById = ad.AspNetUser.Id,
postedByName = ad.AspNetUser.UserName,
description = ad.description,
mobilead = ad.MobileAds.FirstOrDefault(x => x.adId == ad.Id),
});
return Ok(ret);
}
在ajax获取数据的请求中得到了Internal Server Error
下面是调试图
为什么它获取的是 objects 而不是数据?
更新:
当我在调试过程中单击 Results View
中的刷新图标时。它显示数据!但不是 returning 它。
您可以考虑使用
return Ok(ret.ToArray());
而不是
return Ok(ret);
否则上面的 linq 查询将不会被计算。
在下面的函数中,我正在尝试 return 多个属性形成多个 tables。
Parent table > Child table
AspNetUser > 广告
广告 > 移动广告
public async Task<IHttpActionResult> GetAd(int id)
{
Ad add = await db.Ads.FindAsync(id);
if (add == null)
{
return NotFound();
}
var ret = (from ad in db.Ads
where ad.Id.Equals(id)
orderby ad.time
select new
{
title = ad.title,
postedById = ad.AspNetUser.Id,
postedByName = ad.AspNetUser.UserName,
description = ad.description,
mobilead = ad.MobileAds.FirstOrDefault(x => x.adId == ad.Id),
});
return Ok(ret);
}
在ajax获取数据的请求中得到了Internal Server Error
下面是调试图
为什么它获取的是 objects 而不是数据?
更新:
当我在调试过程中单击 Results View
中的刷新图标时。它显示数据!但不是 returning 它。
您可以考虑使用
return Ok(ret.ToArray());
而不是
return Ok(ret);
否则上面的 linq 查询将不会被计算。