EntityFramework Scaffold-DBContext 无法识别

JK3*_*K36 2 entity-framework-core asp.net-core

我对 .net 世界非常陌生,正在尝试将我的一个应用程序移植到这个平台,所以我一直在使用 Code First 完成教程,实体框架使用 CRUD 操作数据连接到数据源。

我现在必须尝试对我现有的数据库进行逆向工程,因为我想尝试数据库优先方法,这将是我们最终使用的方法,因为它已经存在。但是,当我在包管理器控制台中使用 Scaffold-DBContext 命令时,我发现 Scaffold-DBContext 无法识别......

经过几天重新安装框架,更新 powershell,确定 csproj 文件的位置以确保对包含框架的工具的引用正常,并删除 nuget 缓存(基本上我能找到的任何信息来尝试使其工作),我意识到如果我在项目中关闭身份验证创建一个新项目,Scaffold-DBcontext 命令似乎可以正常工作。当我选择创建一个具有身份验证的项目时,是否需要安装参考或包才能使其正常工作?

干杯

use*_*704 8

确实奇怪的错误,我总是使用下一种方法并且它在所有情况下都有效。为了Scaffold-DBContextSqlServer一起使用,您应该有 3 个包:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
Run Code Online (Sandbox Code Playgroud)

然后在包管理器控制台中使用这样一行:

Scaffold-DBcontext "your connection string" Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)

如果这种方法不起作用,则项目中似乎有些问题,因此请使用以下-verbose标志:

Scaffold-DBcontext "your connection string" Microsoft.EntityFrameworkCore.SqlServer -verbose
Run Code Online (Sandbox Code Playgroud)

获取有关您的错误的更多信息。有时dotnet restore包管理器控制台中的简单命令也有帮助。