How to use EF DbFirst with MySQL in .NET Core?

I am trying to use EF with MySQL in my project. And I add:

MySql.Data.EntityFrameworkCore
MySql.Data.EntityFrameworkCore.Design

in my project.json , but the project.json tool section is empty. When I run:

 Scaffold-DbContext "myconnectionstr" MySql.Data.EntityFrameworkCore -OutputDir Models -StartupProject "myproject" 

The console shows me an error:

Unable to find the expected assembly attribute named DesignTimeProviderServicesAttribute in the vendor assembly MySql.Data.EntityFrameworkCore

+6
source share
1 answer

It seems that the "official" provider MySql.Data.EntityFrameworkCore 7.0.7-m61 still does not support forests. However, it works great with the Pomelo.EntityFrameworkCore.MySql free community provider :

 dotnet ef dbcontext scaffold "Host=localhost;Port=3306;Database=foodb;Username=root;Password=mysql" ^ Pomelo.EntityFrameworkCore.MySql ^ --force ^ --context "FooContext" ^ --output-dir "Entities" ^ --verbose 

Our csproj (Visual Studio 2017):

 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="1.1.2-preview-10036" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2-preview-10036" /> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" /> </ItemGroup> </Project> 
+3
source

Source: https://habr.com/ru/post/1015361/


All Articles