6

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

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

进入我project.json的但工具部分project.json是空的。当我运行时:

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

控制台向我显示一个错误:

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

4

1 回答 1

5

似乎“官方”提供者MySql.Data.EntityFrameworkCore 7.0.7-m61仍然不支持脚手架。但是,它适用于 Pomelo.EntityFrameworkCore.MySql免费社区提供者

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>
于 2017-04-23T09:30:45.663 回答