Mysql
 sql >> база данни >  >> RDS >> Mysql

Entity Framework с MySql и миграции неуспешни, защото максималната дължина на ключа е 767 байта

Отговорът е перифразиран от Добавяне на персонализиран контекст на MigrationHistory ...

EF6 използва MigrationHistory таблица за проследяване на промените в модела и за осигуряване на съгласуваност между схемата на базата данни и концептуалната схема. Тази таблица не работи за MySQL по подразбиране, защото първичният ключ е твърде голям . За да коригирате тази ситуация, ще трябва да свиете размера на ключа за тази таблица.

По същество EF6 ви позволява да променяте размера на ключа за индексните колони MigrationId/ContextKey, използвайки Fluent API по следния начин:

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

Завършете Инструкции тук...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. извикване на външен скрипт с mySQL тригер WHITOUT sys_exec на ubuntu ARMHF

  2. Как да запазите историята на актуализациите на записи в MySQL?

  3. Mysql заявка за разстояние

  4. Използвайте шаблони за формиране на облак, за да развиете MySQL екземпляри на RDS

  5. AndroidApp и MySqlConnection не работиха connection.open