繁体   English   中英

在API中的实体框架中返回Json数据

[英]Returning Json data in Entity Framework in API

我想创建一个API来检索Json中所有有员工的公司。 我遇到了连接2个表的问题。 看一下代码:

桌子

public class Company : BaseEntity
{
    public int CompanyId{get;set;}
    public string Name{get;set;}
    public string Address{get;set;}
    public List <Employee> Workers { get; set; }
    public Company()
    {
        Workers = new List<Employee>();
    }
}

public class Employee : BaseEntity
{
    public int EmployeeId{get;set;}
    public string FirstName{get;set;}
    public string LastName{get;set;}
    public string Email{get;set;}
    public int CompanyId { get; set; }
    [ForeignKey("CompanyId")]
    public Company Company { get; set; }
}

这是我的控制器:

    [HttpGet]
    [Route("/api/companies")]
    public async Task<List<Company>>  ShowAllCompanies()
    {
        return await _context.Companies.Include(w=>w.Workers).ToListAsync();; 
    }


    [HttpGet]
    [Route("/api/employees")]
    public async Task<IActionResult> ShowAllEmployees()
    {
        var result  = await _context.Employees.Include(c=>c.Company).ToListAsync();
        return Json(result);
    }

当我包含每个外部表时,Json中仅得到一个对象。 如果我什么都不包括-我有所有要显示的对象列表。

使用Include(w => w.Workers) 使用Include(w => w.Workers)

不包含(w => w.Workers 不包含(w => w.Workers)

在公司表格中显示所有工作人员是什么问题?

您需要“ Include()”才能加载。 参见此处,了解类似的问题: 实体框架-是否有一种无需Include()就自动自动加载子实体的方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM