Днес се сблъсках със същия проблем, разликата е, че не разчитам на Code First да създаде таблиците вместо мен, а ги създавам ръчно, докато вървя.
Следвах даденото описание тук и се озовах на същата грешка като вас, ръчно създадох поле "Дискриминатор" в моята таблица и промених типа му на MEDIUMTEXT, но доставчикът настоя, че по някакъв начин предоставям свойство MaxLength, въпреки че MEDIUMTEXT няма MaxLength като VARCHAR , предполагам, че това трябва да е грешка на доставчика.
Е, за да заобиколя това, използвах fluent API, за да кажа ръчно името на колоната на дискриминатора (което просто запазих като "Дискриминатор") и стойностите, които EF трябва да очаква от колоната на дискриминатора, във вашия случай това би било:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Vehicle>()
.Map<Car>(m => m.Requires("Discriminator").HasValue("Car"))
.Map<Bike>(m => m.Requires("Discriminator").HasValue("Bike"));
}
Промених типа на колоната на моя дискриминатор на VARCHAR(50) без очевиден проблем, сега работи добре за мен. Алтернативата за мен би била да мигрирам към друг ORM, което е твърде много работа, ще изчакам следващите версии на доставчика на MySql и ще тествам дали са поправили това, а междувременно ще се придържам към това решение.