Saya menghadapi masalah yang sama hari ini, perbedaannya adalah saya tidak mengandalkan Code First untuk membuat tabel untuk saya, saya membuatnya secara manual saat saya mulai.
Saya telah mengikuti deskripsi yang diberikan di sini dan saya berakhir pada kesalahan yang sama seperti Anda, saya telah secara manual membuat bidang "Discriminator" di meja saya dan mengubah jenisnya menjadi MEDIUMTEXT tetapi penyedia bersikeras bahwa saya entah bagaimana menyediakan properti MaxLength, meskipun MEDIUMTEXT tidak memiliki MaxLength seperti VARCHAR , saya berasumsi ini pasti bug pada penyedia.
Nah, untuk mengatasinya saya telah menggunakan API yang lancar untuk secara manual memberi tahu nama kolom diskriminator (yang saya simpan sebagai "Diskriminator") dan nilai-nilai yang diharapkan EF dari kolom diskriminator, dalam kasus Anda ini adalah:
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"));
}
Saya telah mengubah jenis kolom diskriminator saya menjadi VARCHAR(50) tanpa masalah yang jelas, ini berfungsi dengan baik untuk saya sekarang. Alternatif bagi saya adalah bermigrasi ke ORM lain yang terlalu banyak pekerjaan, saya akan menunggu versi berikutnya dari penyedia MySql dan menguji apakah mereka telah memperbaikinya, sementara itu saya akan tetap menggunakan solusi ini.