2017-02-28 59 views
1

我试图包含关系数据与我的公司模型。当我不使用Include时,我得到了我的答案,但是当我不包括时,我在Postman中得到了Could not get any response不能包含关系数据与实体框架

public async Task<IActionResult> Get(string with, string orderBy) 
{ 
    CustContext context = new CustContext(); 

    var companies = context.Companies.Include(c => c.Stores).ToListAsync(); 

    return Ok(companies); 
} 

我想在json格式,它处理由它自身不包括在返回答案。

有人有什么不顺利的线索?

编辑

当我调试我看到companies正确设置与Stores在一起。返回结果时肯定有错误。

+0

为什么不返回'任务'? – dcg

+0

我喜欢用'Ok()'函数。当返回'任务'时,是否有设置状态码的好方法? –

+0

我相信当方法重新启动时,状态码是正确设置的,不是吗? – dcg

回答

1

我找到了解决方案。显然我们需要明确告诉框架不要保持包括(直到无限远和更远)。因此,这必须添加在startup.cs

services.AddMvc().AddJsonOptions(options => 
{ 
    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; 
});