A chave especificada era muito longa; o comprimento máximo da chave é 767 bytes Erro mysql no Entity Framework 6
Comecei a trabalhar no aplicativo Asp.net Mvc-5 usando o visual studio 2012. Portanto, baixei o Entity Framework-6 e o MySQL 6.8.3.0 do nuget. Quando tentei criar banco de dados usando o comando db Context
dbContext.Database.CreateIfNotExists();
Esta exceção lançada.
A chave especificada era muito longa; o comprimento máximo da chave é 767 bytes
Eu fiz uma pesquisa, mas não consigo encontrar nenhuma solução. Uma coisa que recebi durante minha pesquisa: esse pode ser um problema de caracteres Unicode. Não sei como lidar com esse problema.
Atualizada
Estou usando a seguinte configuração
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
</configuration>
Minha classe de contexto de banco de dados. Eu removi todos os modelos, apenas mantenha um modelo
public class MyContext : DbContext
{
public MyContext()
: base("myconn")
{
this.Configuration.ValidateOnSaveEnabled = false;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
public DbSet<ModelOne> ModelOne { get; set; }
}
Classe de modelo
public class ModelOne
{
[Key]
public int CreatedId { get; set; }
public Nullable<int> UserId { get; set; }
public Nullable<DateTime> Date { get; set; }
public string Description { get; set; }
}
Alguém pode me ajudar com essa questão?
Obrigado.