sim*_*831 44 entity-framework asp.net-core
当尝试使用asp.net核心这个命令进行脚手架时
scaffold-dbcontext"Data Source =(local); Initial Catalog = MyDb; Integrated Security = True;" Microsoft.EntityFrameworkCore.sqlserver -outputdir模型
给出了这个错误.
scaffold-dbcontext:术语"scaffold-dbcontext"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.at line:1 char:1 + scaffold-dbcontext"Data Source =(local); Initial Catalog = MyDB; In ... + ~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound:(scaffold-dbcontext:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException
我在这里尝试了解决方案,但它对我不起作用.
知道原因/治疗方法是什么吗?
AFr*_*act 97
对我来说,一旦我在Package Manager控制台中运行,它显然有效
Install-Package Microsoft.EntityFrameworkCore.Tools
Run Code Online (Sandbox Code Playgroud)
还要确保:
要根据您的需要引用其他依赖项(例如Microsoft.EntityFrameworkCore,Microsoft.EntityFrameworkCore.SqlServer,Microsoft.EntityFrameworkCore.SqlServer.Design ...).
在PM控制台的右上角选择正确的程序集作为命令的目标(我常常被遗忘所欺骗...)
我遇到的另一个问题:dbcontext位于一个单独的类库中,我遇到了以下错误:
无法找到名为Microsoft.EntityFrameworkCore.SqlServer的提供程序程序集.确保指定的名称正确并由项目引用.
通过在VS中将我的类库设置为启动项目,我能够解决这个问题(不要问为什么,但它有效).
eld*_*inT 29
有同样的问题。就我而言,我缺少一些依赖项,因此请确保您拥有以下依赖项:
希望这会有所帮助。:)
Moj*_*oji 18
确保以管理员身份运行VS并安装以下软件包:
小智 12
这就是它的全部功能
小智 11
Scaffoldcommand 是dbcontextEF 中command 的一部分。以下是成功的详细信息scaffold:
所需的包参考:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.0.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.0.0"/>
Run Code Online (Sandbox Code Playgroud)
所以我们的脚手架命令应该是这样的:
dotnet ef dbcontext scaffold "Server=localhost\SQLEXPRESS;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o OutputDirectory
Run Code Online (Sandbox Code Playgroud)
您的Server值可能因数据库服务器名称而异。替换MyDatabase为您的数据库名称master和OutputDirectory您想要新创建的脚手架类(如Models文件夹)的位置。
joy*_*ym8 10
我已经安装了Microsoft.EntityFrameworkCore.Tools并且NuGet Package Manager它在已安装的软件包中可见。但我一直收到这个错误。
重新启动 Visual Studio(2019/版本 16.4.4)为我解决了这个问题。
对于 VS2022,它们都不起作用。
但我安装了EF
dotnet 工具安装 --global dotnet-ef
并更改了代码;
dotnet ef dbcontext 脚手架“服务器=服务器名称;数据库=数据库名称;持久安全信息=True;用户ID=XXX;密码=YYY;” Microsoft.EntityFrameworkCore.SqlServer -o 模型
我还必须安装 .Net 6.0 托管捆绑包 https://dotnet.microsoft.com/en-us/download/dotnet/6.0/runtime?cid=getdotnetcore
小智 6
确保您使用的是正确的控制台,即“包管理器控制台”。还有一个看起来非常相似的“终端”控制台,但不适用于此命令。包管理器控制台可以在视图 -> 其他窗口中找到(从 Visual Studio 2019 开始,版本 16.6.5)
| 归档时间: |
|
| 查看次数: |
25884 次 |
| 最近记录: |