返回多个属性查询asp.net

时间:2015-08-11 08:38:56

标签: c# asp.net ado.net

在下面的函数中,我试图从多个表中返回多个属性。

父表>儿童表

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以下是调试的数据。

Debugging picture

为什么它是获取对象而不是数据?

更新

enter image description here

在调试期间单击Results View中的刷新图标时。它显示数据!但不归还。

1 个答案:

答案 0 :(得分:1)

您可以考虑使用

 return Ok(ret.ToArray());

而不是

 return Ok(ret);

否则不会评估上面的linq查询。