如何在.NET Core中使用EF DbFirst和MySQL?

时间:2017-03-01 06:59:19

标签: mysql entity-framework .net-core db-first

我尝试在我的项目中使用EF和MySQL。我补充说:

  

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

进入我的project.json,但project.json的工具部分为空。我跑的时候:

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

控制台显示错误:

  

无法找到名为的预期程序集属性   提供程序程序集中的DesignTimeProviderServicesAttribute   MySql.Data.EntityFrameworkCore

1 个答案:

答案 0 :(得分:3)

似乎"官方"提供者MySql.Data.EntityFrameworkCore 7.0.7-m61仍然不支持脚手架。但是,它适用于Pomelo.EntityFrameworkCore.MySql免费社区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

我们的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>