sql >> Database >  >> RDS >> Mysql

Entity Framework met MySql en migraties mislukt omdat de maximale sleutellengte 767 bytes is

Antwoord geparafraseerd van Aangepaste MigrationHistory-context toevoegen ...

EF6 gebruikt een Migratiegeschiedenis tabel om modelwijzigingen bij te houden en om de consistentie tussen het databaseschema en het conceptuele schema te waarborgen. Deze tabel werkt standaard niet voor MySQL omdat de primaire sleutel te groot is . Om deze situatie te verhelpen, moet u de sleutelgrootte voor die tabel verkleinen.

In wezen stelt EF6 u in staat om de sleutelgrootte voor de MigrationId/ContextKey-indexkolommen te wijzigen met Fluent API als volgt:

modelBuilder.Entity<HistoryRow>().Property(h => h.MigrationId).HasMaxLength(100).IsRequired();
modelBuilder.Entity<HistoryRow>().Property(h => h.ContextKey).HasMaxLength(200).IsRequired();

Volledig Instructies hier...



  1. Hoe te voorkomen dat SQL Server LocalDB automatisch wordt afgesloten?

  2. Hoe verander ik een MySQL-tabel in UTF-8?

  3. Zoek of getal is opgenomen in een uitdrukking zoals:1-3,5,10-15,20

  4. Overzicht van DBCC SHRINKFILE-opdracht