sql >> Base de Datos >  >> RDS >> Mysql

Agregar el modelo de datos de la entidad ADO.NET en VS 2017 y no pasa nada

No es una respuesta directa, sino una solución a este error, cree una aplicación de consola core 2.x, proyecte el contenido del archivo a continuación (no funcionará con core 3 en este 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 es para andamiar cadenas de Microsoft SQL Server, MySql.Data.EntityFrameworkCore es hacer un scaffolding de las cadenas de conexión del servidor MySql. Luego, en la consola del administrador de paquetes (dentro de Visual Studio, probado en 2017 y 2019), escriba:

Scaffold-DbContext "server=localhost;port=3306;user=USERNAME;password=YOUR_PASSWORD;database=DATABASE_NAME" MySql.Data.EntityFrameworkCore -OutputDir Models -f

eso fue así MySql. Para tipo MSSQL:

Scaffold-DbContext "Server=SERVER_ADDRESS;Database=DATABASE_NAME;user=USERNAME; password=YOUR_PASSWORD;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -f

esto generará el modelo de contexto y las clases que lo contienen para que finalmente pueda usar la base de datos primero en su aplicación principal (sí, es hora de pasar al núcleo).