EF7 beta5: la clave externa devuelve un valor nulo

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

Pregunta

He creado una API utilizando ASP.NET5 y Entity Framework 7.0.0-beta 5.

He creado el Modelo, DbContext y el Repositorio, y cuando intento recuperar datos de mi base de datos obtengo todos los datos, excepto los datos de clave externa.

El valor de la clave foránea es siempre nulo.

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

}

Modelo

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

}

Repositorio (solo obtener todo el método)

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

Recuperando datos usando HTTP GET Obtengo todos los datos, pero el valor de la clave externa es nulo:

Respuesta de 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"
}

¿Alguien sabe cómo obtener los datos de la tabla de clave externa utilizando la consulta EF7?

Respuesta aceptada

La carga diferida aún no está implementada en EF7. Utilice la siguiente consulta para cargar con entusiasmo las entidades relacionadas en su lugar.

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



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué