Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Entity Framework z MySql i migracjami nie działa, ponieważ maksymalna długość klucza to 767 bajtów

Odpowiedź parafrazowana z Dodawanie niestandardowego kontekstu MigrationHistory ...

EF6 używa Historii migracji tabela do śledzenia zmian modelu i zapewnienia spójności między schematem bazy danych a schematem pojęciowym. Ta tabela domyślnie nie działa dla MySQL, ponieważ klucz podstawowy jest zbyt duży . Aby zaradzić tej sytuacji, musisz zmniejszyć rozmiar klucza dla tej tabeli.

Zasadniczo EF6 umożliwia modyfikowanie rozmiaru klucza dla kolumn indeksu MigrationId/ContextKey przy użyciu interfejsu API Fluent, jak na przykład:

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

Kompletny Instrukcje tutaj...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę używać transakcji w mojej procedurze składowanej MySQL?

  2. wstaw znak Unicode w bazach danych

  3. funkcja oczyszczania danych wejściowych do bazy danych Mysql

  4. Jak możesz dołączyć do tego samego stołu, dwa razy, w mysql?

  5. jak zarządzać połączeniami z dynamicznie tworzonymi bazami danych