我尝试在我的项目中使用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
答案 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>