Quando si generano le mie tabelle utilizzando Entity Framework Core per MySQL, tutte le proprietà della stringa vengono create come colonne di testo in MySQL
Sto usando:
<PackageReference Include="MySql.Data" Version="8.0.8-*" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.8-*" />
Sto cercando di usare l'autenticazione Identity integrata in .net e quando genero le tabelle ottengo l'errore:
BLOB/TEXT column 'NormalizedEmail' used in key specification without a key length
Posso aggirare questo aggiungendo:
builder.Entity<IdentityRole>().Property(i => i.NormalizedName)
.HasColumnType("varchar(256)");
Ma non voglio farlo per ogni colonna nel modello di identità né voglio davvero colonne che aggiungo come FirstName essere memorizzato come una colonna di testo.
Si tratta di un bug in EF Core per MySQL o ho qualche configurazione errata?
Grazie a @Tseng per la raccomandazione di usare Pomelo. È stato un semplice passaggio e ha risolto tutti i miei problemi.