簡體   English   中英

EF7 beta5:外鍵返回空值

[英]EF7 beta5: Foreign Key returns null value

我已經使用ASP.NET5和Entity Framework 7.0.0-beta 5創建了一個API。

我已經創建了Model,DbContext和Repository,當我嘗試從數據庫中檢索數據時,我得到了所有數據,外鍵數據除外。

外鍵值始終為空。

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();
    }

使用HTTP GET檢索數據,我得到了所有數據,但是外鍵的值為null:

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM