返回多个属性查询 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 查询将不会被计算。