gpt4 book ai didi

c# - EF7 beta5 : Foreign Key returns null value

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:05 25 4
gpt4 key购买 nike

我已经使用 ASP.NET5 和 Entity Framework 7.0.0-beta 5 创建了一个 API。

我创建了模型、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; }

}

Repository(只获取所有方法)

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

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

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 中实现。使用以下查询来预先加载相关实体。

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

关于c# - EF7 beta5 : Foreign Key returns null value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com