将实体框架添加到.Net标准类库的问题

时间:2018-02-01 09:08:37

标签: c# entity-framework asp.net-core-2.0 .net-standard-2.0

我正在尝试将实体框架添加到.Net Standard 2.0类库中。

我尝试过从DB创建类。我在nuget包管理器控制台中运行了以下命令。

Scaffold-DbContext "Server=localhost;Database=FlexDB;uid=root;pwd=ffff;Trusted_Connection=True;" MySql.Data.EntityFrameworkCore -OutputDir EFModels/DB

遗憾的是,它会产生以下错误。

  

启动项目'FlexData'以框架'.NETStandard'为目标。有   没有与此框架关联的运行时以及针对它的项目   不能直接执行。使用Entity Framework核心包   使用此项目的管理器控制台工具,添加可执行项目   针对引用此项目的.NET Framework或.NET Core,   并将其设置为启动项目;或者,将此项目更新为   跨目标.NET Framework或.NET Core。

UPDATE -------------

我已按照ChrFin的说明进行操作,但现在我收到以下错误

  

无法加载类型   'Microsoft.EntityFrameworkCore.Infrastructure.DesignTimeProviderServicesAttribute'   来自程序集'Microsoft.EntityFrameworkCore,Version = 2.0.1.0,   Culture = neutral,PublicKeyToken = adb9793829ddae60'。

Blimey使用EDMX文件和模板更容易!!!!!

1 个答案:

答案 0 :(得分:1)

要运行此类命令,您需要一个以运行时为目标的库(完整或核心框架) 只需创建一个额外的项目,例如面向.NET 4.5或更高版本的控制台项目,以及对.NET标准库的引用 将新项目设置为启动项目后,您可以针对原始项目运行命令并将数据库搭建在那里。