Includere l'utente identità con Entity Framework non funziona

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

Domanda

Sto riscontrando problemi tra cui il mio Identity User nei risultati delle query. Altre entità sono incluse bene, indipendentemente da quanti livelli siano profondi.

Ecco il modello che sto usando.

Building * --- 1 City
     *            *
     |          /
     |         /
     1        1
ApplicationUser

E il contesto:

Building * --- 1 City
     *            *
     |          /
     |         /
     1        1
ApplicationUser

Sia l' Building che la City hanno queste proprietà:

Building * --- 1 City
     *            *
     |          /
     |         /
     1        1
ApplicationUser

La query che sto utilizzando per recuperare i dati:

Building * --- 1 City
     *            *
     |          /
     |         /
     1        1
ApplicationUser

Nel risultato, la città viene compilata correttamente, tuttavia ApplicationUser non lo è.

Questo potrebbe essere un problema di denominazione? Ho già provato UserId / User e AspNetUserId / AspNetUser come nomi di proprietà senza successo.

Sto usando Migrazioni per creare il database. Il nome della tabella che viene creato per gli utenti è AspNetUsers.

Sto usando entity framework 7 beta 7, non sono sicuro se questo si applica anche ad altre versioni.

Questi sono i file generati da EF Migrations.

ApplicationDbContextModelSnapshot.cs

20150929181902_Init.cs

20150929181902_Init.Designer.cs

(Ho notato che ho dimenticato di includere la relazione Building> City durante la generazione di file per il caricamento, ma ciò non dovrebbe essere rilevante per l'esempio)

Risposta accettata

Finalmente l'ho capito.

ApplicationUser eredita da IdentityUser che eredita da IdentityUser<string> . Il tipo generico viene utilizzato come chiave primaria, quindi una string !

Ho cambiato le proprietà della mia chiave esterna Guid a string s e ora tutto funziona.




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é