Mysql
 sql >> Base de données >  >> RDS >> Mysql

Ajout du modèle de données d'entité ADO.NET dans VS 2017 et rien ne se passe

Pas une réponse directe mais une solution de contournement à ce bogue, créez une application de console core 2.x, le contenu du fichier de projet ci-dessous (ne fonctionnera pas avec le core 3 pour le moment) :

<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 est d'échafauder les chaînes Microsoft SQL Server, MySql.Data.EntityFrameworkCore est d'échafauder les chaînes de connexion MySql Server, puis dans la console du gestionnaire de packages (dans Visual Studio, testé en 2017 et 2019), tapez :

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

c'était sous MySql. Pour le type MSSQL :

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

cela générera le modèle de contexte et les classes contenantes afin que vous puissiez enfin utiliser la base de données en premier dans votre application principale (oui, il est temps de passer au noyau).