在下面的函数中,我试图从多个表中返回多个属性。
父表>儿童表
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
以下是调试的数据。
为什么它是获取对象而不是数据?
更新
在调试期间单击Results View
中的刷新图标时。它显示数据!但不归还。
答案 0 :(得分:1)
您可以考虑使用
return Ok(ret.ToArray());
而不是
return Ok(ret);
否则不会评估上面的linq查询。