我无法让Scaffold-DbContext
使用EFCore 1.1应用程序。
PM> Scaffold-DbContext -Connection“'Server = .; Database = testsite; User Id = sa; Password = Password1234;'” - 提供者Microsoft.EntityFrameworkCore.SqlServer -OutputDir EFContext -Context ApplicationDbContext
这是它给出的错误:
Scaffold-DbContext:无法将参数绑定到参数'Path',因为它是一个空字符串。 在行:1个字符:1 + Scaffold-DbContext + ~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData:(:) [Scaffold-DbContext],ParameterBindingValidationException + FullyQualifiedErrorId:ParameterArgumentValidationErrorEmptyStringNotAllowed,Scaffold-DbContext
不完全是即将发生的错误消息,所以我只运行了Scaffold-DbContext
,并在提示提供商后给了我这个错误。我正在尝试使用的提供商是Microsoft.EntityFrameworkCore.SqlServer
。
答案 0 :(得分:1)
如果您的解决方案中有多个项目,则可以尝试添加该选项 -StartupProject" nameofyourprojectstartup"使用必须运行此命令的项目名称。
尝试运行时出现了同样的错误" add-migration"在我的解决方案中使用多个项目(Docker支持)。
答案 1 :(得分:0)
就我而言,我通过安装Microsoft.EntityFrameworkCore.Tools对其进行了修复。确保关闭并重新打开VisualStudio。 (不要忘了在最后添加-force标志,以便从头开始重新应用更改) 示例:
Scaffold-DbContext “服务器=(localdb)\ mssqllocaldb;数据库=博客; Trusted_Connection =真实;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir模型-force
所以,我的依赖项看起来像:
Microsoft.AspNetCore.All
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Tools
之后,它按预期工作。