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

Adicionando o modelo de dados de entidade ADO.NET no VS 2017 e nada acontece


Não é uma resposta direta, mas uma solução alternativa para esse bug, crie um aplicativo de console 2.x principal, conteúdo do arquivo de projeto abaixo (não funcionará com o núcleo 3 no momento):
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.6">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.6">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.17" />
  </ItemGroup>

</Project>

Microsoft.EntityFrameworkCore.SqlServer é o scaffold de strings do Microsoft SQL Server, MySql.Data.EntityFrameworkCore é estruturar strings de conexão do MySql Server.then no console do gerenciador de pacotes (dentro do visual studio, testado em 2017 e 2019) digite:
Scaffold-DbContext "server=localhost;port=3306;user=USERNAME;password=YOUR_PASSWORD;database=DATABASE_NAME" MySql.Data.EntityFrameworkCore -OutputDir Models -f

isso foi fow MySql. Para MSSQL digite:
Scaffold-DbContext "Server=SERVER_ADDRESS;Database=DATABASE_NAME;user=USERNAME; password=YOUR_PASSWORD;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -f

isso gerará o modelo de contexto e as classes contidas para que você possa finalmente usar o banco de dados primeiro em seu aplicativo principal (sim, é hora de migrar para o núcleo).