EF7 beta5:外键返回空值

本文关键字:返回 空值 beta5 EF7 | 更新日期: 2023-09-27 18:01:13

我已经使用ASP.NET5和实体框架7.0.0-beta 5创建了一个API。

我已经创建了Model、DbContext和Repository,当我尝试从数据库中检索数据时,我会得到除外键数据之外的所有数据。

外键值始终为null。

DbContext

public class MrBellhopContext : DbContext
{
    public DbSet<Company> Company { get; set; }
    public DbSet<CompanyStatus> CompanyStatus { get; set; }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Company>().Table("Company");
        modelBuilder.Entity<Company>().Key(c => c.CompanyId);
        modelBuilder.Entity<Company>().Index(c => c.Name);
        modelBuilder.Entity<Company>().Reference(c => c.Status).InverseReference().ForeignKey<CompanyStatus>(c => c.StatusId);
        modelBuilder.Entity<CompanyStatus>().Table("CompanyStatus");
        modelBuilder.Entity<CompanyStatus>().Key(c => c.StatusId);
        base.OnModelCreating(modelBuilder);
    }
}

型号

public class Company
{
    public int CompanyId { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public CompanyStatus Status { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime UpdatedAt { get; set; }
}

存储库(仅获取所有方法(

    public IEnumerable<Company> GetAll()
    {
        return _dbcontext.Company.ToList();
    }

使用HTTPGET检索数据我得到所有数据,但外键的值为空:

JSON响应:

0:  {
CompanyId: 1
Name: "Hotel Amura"
Email: "info@hotelamura.com"
Status: null
CreatedAt: "2015-01-01T00:00:00"
UpdatedAt: "2015-01-01T00:00:00"
}

有人知道如何使用EF7查询获取外键表数据吗

EF7 beta5:外键返回空值

延迟加载尚未在EF7中实现。请使用以下查询来急切地加载相关实体。

_dbcontext.Company.Include(c => c.Status).ToList();