Entity Framework ApplicationUser entità figlio restituiscono null

asp.net-core asp.net-core-mvc asp.net-identity-3 entity-framework-core

Domanda

Abbiamo una classe ApplicationUser che eredita da IdentityUser. Un ApplicationUser può avere molti dispositivi.

    public class ApplicationUser : IdentityUser
{
    public virtual ICollection<Device> Devices { get; set; }
}

Un dispositivo è definito come

    public partial class Device
{
    [Key]
    public int DeviceID { get; set; }
    public string UserId { get; set; }
    public virtual ApplicationUser User { get; set; }
    public string DeviceName { get; set; }
}

La relazione uno-a-molti è impostata in

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<Device>(entity =>
        {
            entity.HasKey(e => e.DeviceID);

            entity.Property(e => e.DeviceName)
                .IsRequired()
                .HasMaxLength(50)
                .HasColumnType("varchar");

            entity.Property(e => e.UserId)
                .IsRequired()
                .HasMaxLength(450);

            entity.HasOne(d => d.User).WithMany(p => p.Devices).HasForeignKey(d => d.UserId).OnDelete(DeleteBehavior.Restrict);
        });

        public virtual DbSet<Device> Devices { get; set; }
}

Il seguente codice restituisce correttamente l'utente

var membershipUser = await _userManager.FindByEmailAsync(email);

So che membershipUser ha 6 dispositivi nella tabella Devices, tuttavia la proprietà Devices è null.

Quanto segue restituisce anche null per i dispositivi di questo utente

var deviceList = membershipUser.Devices.ToList();

Come faccio a cablare i dispositivi in ​​modo che vengano restituiti correttamente?

Risposta accettata

Il caricamento EF7 non funziona su EF7 . Ma puoi usare Include nella tua richiesta.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché