Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível usar uma conexão MySQL para o framework de entidade 6


ÚLTIMA EDIÇÃO

O bug foi corrigido.

Comentário de Cris:

2015-11-07 e agora você pode fazer tudo funcionar sem editar nenhum arquivo ou fazer coisas estranhas. Use o instalador do MySQL para Windows e inclua o suporte do Visual Studio e o Connector.Net mais recente. Certifique-se de atualizar após a instalação e você obterá o mais recente de cada (1.2.5 e 6.9.8). Use o NuGet para instalar EntityFramework, MySql.Data e MySql.Data.Entity. Por fim, construa e aproveite a engenharia reversa do código em primeiro lugar, adicionando um modelo de entidade Ado.Net.

Resposta original

Descobri que é um bug do MySQL.

Aqui está o link explicando uma solução alternativa.

Em sua máquina onde o VS 2013 está instalado, plugin VS (1.1.3 GA) e Connector/Net

Feche todas as instâncias do VS antes de executar as etapas.

Em uma janela do Windows Explorer, vá para este caminho ou onde quer que você instalou seus binários Connector/net

C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\

Copie o arquivo:

MySql.Data.Entity.EF6.dll

E cole-o nesta pasta

C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\IDE\PrivateAssemblies

Se ele pedir para você sobrescrevê-lo, faça isso.

Você precisará de direitos de administrador para substituir o arquivo.

Em seguida, você pode tentar novamente gerar o script para seu modelo.

É importante que você tenha a versão 1.1.3 do plugin VS instalada, pois esta solução é para isso.

Infelizmente, não funciona para mim, então fiz o downgrade para a estrutura de entidade 5 até que eles corrijam isso.

EDITAR

Finalmente, agora funciona.

Eu tive que adicionar as 3 seguintes DLLs:
  • C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\MySql.Data.dll
  • C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
  • C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\MySql.Web.dll

Então eu mudei a parte EntityFramework na configuração da web para:
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers>
  </entityFramework>

Não se esqueça de RECONSTRUIR e você deve ser capaz de criar um modelo de estrutura de entidade 6 com MySQL.

IMPORTANTE

Certifique-se de ter instalado o MySQL para visual studio 1.1.3 e conector MySQL .net 6.8.3