Não é possível criar um modelo de dados de entidade – usando MySql e EF6

Eu estou tentando adicionar um modelo de entidade do edmx para meu projeto de c # / Web no Visual Studio 2013. Meu problema é que o arquivo não é criado.

Eu faço os seguintes passos:

  1. Dê um nome ao item
  2. Escolha ‘EF Designer do database’
  3. Escolha a conexão do drop-down (localhost) que já foi testado com sucesso conectando ao database MySQL
  4. A opção “Salvar configurações de conexão no webc.config como” está marcada
  5. Eu clico em ‘Next’ E a janela desapareceu e eu voltei para a janela de código

Nenhum arquivo edmx é criado. (embora funcione com o SQL Server, mas não para o MySQL)

Eu tenho o Entity Framework 6.1.2 instalado, MySql.Data , MySql.Data.Entities , MySql.Data.Entity , MySql.Web – todos instalados.

Eu também reconstruí o projeto antes de tentar adicionar um arquivo de modelo de entidade.

Eu instalei o pacote mais recente do MySQL com o .NET connector mais recente.

Em execução: Visual Studio 2013 no Windows 7.

Alguma idéia de como resolver isso?

Eu resolvi esse problema seguindo alguns passos abaixo:

  1. Desinstale o MySql.Data.Entities da Nuget usando o comando abaixo no Console do Gerenciador de Pacotes: Uninstall-Package MySql.Data.Entities

  2. Inclua uma referência de projeto para o MySql.Data.Entity.EF6.dll mais MySql.Data.Entity.EF6.dll do caminho de instalação do conector MySql em: C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5

Acabei de ter a mesma situação ao tentar configurar o ambiente do Visual Studio Professional 2017 com o MySQL, ADO.NET (Database First) e EF6.

Nota: Por favor, siga os passos na mesma ordem.

  1. Desinstale / remova “Connector / NET” e “MySQL for Visual Studio” se instalado.

  2. Instale o “MySQL para Visual Studio” v2.0.5 CTP ( MySQL para Visual Studio ). Nota: Instale o MySQL para Visual Studio antes do Connector / NET.

  3. Instale o “Conector / NET” v6.9.10 ( Conector / Rede ). http://sofpt.miximages.com/mysql/XOT1I.jpg Nota: Eu tentei usar o Connector / NET v6.8, v6.10 e v8 primeiro, mas nenhum deles funcionava com o Visual Studio 2017 e o ADO.Net. Aqui você pode encontrar todas as versões e compatibilidades do conector com IDEs do Visual Studio , mas até o momento essa lista é imprecisa.

  4. Crie o novo projeto do Visual Studio Professional 2017.

  5. Faça o download e instale o “EntityFramework” v6.2.0 até o NuGet, indo para a guia Projeto / Gerenciando pacotes do NuGet / Browse -> Entity Framework.

  6. Adicione referências a C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll e C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll ; clicando com o botão direito do mouse em References dentro do Solution Explorer e selecionando Add Reference / Browse -> Browse button.

  7. Adicione informações do provedor MySQL EF6 dentro do App.config em provedores de estrutura de entidade da seguinte forma:

      

VS 2015 ainda tem esse bug. É causado por incompatibilidade de versão.

No meu sistema, eu tinha o MySQL Connector 6.9.6.
Emitindo o comando no NuGet Package Manger Console:

 Install-Package MySql.Data.Entity 

instala a versão 6.9.8 por padrão. Seu conector deve corresponder à versão real do pacote NuGet.
Você pode baixar uma versão atualizada do conector em: https://www.mysql.com/products/connector/

Aqui selecione o “driver Ado.net para MySQL”, e baixe a versão correspondente (neste caso 6.9.8). Reabra o Visual Studio e agora o assistente não falha. Não é necessário reiniciar.

Consegui resolver esse problema executando o seguinte:

  1. Abra o MySQL Installer e instale a versão mais recente do Connector / NET
  2. Desinstale / reinstale a versão mais recente do MySQL.Data. * Pacotes com versões que correspondam à versão do pacote Connector / NET recém-instalado
  3. Reinicie o Visual Studios
  4. Reconstruir solução

Tomando sugestões sobre o version control do NuGet a partir de outras respostas. Eu resolvi este problema, excluindo o .Data e Data.Entitiy.EF6 instalado pela Nuget.

Em seguida, clique com o botão direito do mouse em References e procure por:

C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll e C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll

Eu era então capaz de completar o assistente ADO.Net, com os modelos .edmx.

Eu conheço a solução.

O Nuget instala a versão de borda dos pacotes MySql.Data. *, Enquanto você provavelmente tem a versão anterior do conector (no meu caso os pacotes eram v. 6.9.6 e o ​​conector era 6.9.5). Isso chega ao ponto em que você tem incompatibilidade de versão.

Esteja ciente de que, se você usar o Install-Package MySql.Data.Entities no NuGet, você terá uma versão ainda mais antiga como a 6.8.3, então você deve adicionar as referências por si mesmo e ficar de olho em qual você está tentando adicionar ao seu pacote . solução.

Eu tive o mesmo problema usando o MySQL Connector 6.9.8.0. Enquanto todas as minhas versões correspondiam, isso ainda falhava. Eu tinha instalado uma nova versão do Visual Studio após o conector MySQL (de 2010 a 2013). Para mim, a solução foi desinstalar o MySQL Connector for NET e reinstalá-lo (Exatamente a mesma versão). Em seguida, reinicie o Visual Studio.

Parece que esta é outra versão do mesmo problema.

Você pode fazer esta solução:

  1. Adicione um novo modelo EF vazio.
  2. No design do emdx, clique e atualize o modelo a partir do database.
  3. escolha seu database e o modelo será gerado.

Isso é trabalho para mim 🙂

Outra coisa para tentar:

—> instale o entityframework 6.2.0 via nuget.

—> Verifique em seu arquivo web.config / app.config que você tem o provedor System.Data.SqlServerCe.4.0 . se não estiver instalado, instale-o via nuget, a mesma versão exata da estrutura de entidade instalada anteriormente (6.2.0 neste caso).

—> em seguida, adicione as referências: (neste caso, a partir do conector / NET versão 6.9.10) C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll e C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll e reconstruir.

—> tente adicionar este provedor também: reconstruir, novamente.

—> e, finalmente, tente adicionar o arquivo .edmx com uma nova conexão.

Isso funcionou no meu caso, onde eu instalei VS2017 e MySQL em um novo laptop, e tive o mesmo problema.

Eu mudei meu arquivo web.config de:

Para:

    Intereting Posts