EF7 beta5: la clé étrangère renvoie une valeur nulle

asp.net-core c# entity-framework-core

Question

J'ai créé une API utilisant ASP.NET5 et Entity Framework 7.0.0-beta 5.

J'ai créé le modèle, DbContext et le référentiel, et lorsque je tente d'extraire des données de ma base de données, je reçois toutes les données, à l'exception des données de clé étrangère.

La valeur de la clé étrangère est toujours nulle.

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

}

Modèle

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 (récupère uniquement toutes les méthodes)

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

Récupération de données à l'aide de HTTP GET Je récupère toutes les données, mais la valeur de la clé étrangère est null:

Réponse 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"
}

Est-ce que quelqu'un sait comment obtenir les données de la table de clé étrangère en utilisant une requête EF7?

Réponse acceptée

Le chargement différé n'est pas encore implémenté dans EF7. Utilisez la requête suivante pour charger rapidement les entités associées.

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


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi