我正在尝试将实体框架添加到.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文件和模板更容易!!!!!
答案 0 :(得分:1)
要运行此类命令,您需要一个以运行时为目标的库(完整或核心框架) 只需创建一个额外的项目,例如面向.NET 4.5或更高版本的控制台项目,以及对.NET标准库的引用 将新项目设置为启动项目后,您可以针对原始项目运行命令并将数据库搭建在那里。