EFCore 1.1 Scaffold-DbContext提供程序錯誤

asp.net-core entity-framework entity-framework-core

我無法讓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 char:1 + Scaffold-DbContext + ~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData:(:) [Scaffold-DbContext],ParameterBindingValidationException + FullyQualifiedErrorId:ParameterArgumentValidationErrorEmptyStringNotAllowed,腳手架的DbContext

不完全是即將發生的錯誤消息所以我只運行了Scaffold-DbContext ,它在提示提供者後給了我這個錯誤。我正在嘗試使用的提供程序是Microsoft.EntityFrameworkCore.SqlServer

一般承認的答案

在我的情況下,我修復了它安裝Microsoft.EntityFrameworkCore.Tools。確保關閉並重新打開VisualStudio。 (不要忘記在末尾添加-force標誌,以便從頭開始重新應用更改)示例:

Scaffold-DbContext“Server =(localdb)\ mssqllocaldb; Database = Blogging; Trusted_Connection = True;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir模型-force

所以,我的依賴關係看起來像:

Microsoft.AspNetCore.All
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Tools

之後它按預期工作。


熱門答案

如果解決方案中有多個項目,則可以嘗試使用必須運行此命令的項目名稱添加選項-StartupProject“nameofyourprojectstartup”。

嘗試在我的解決方案中運行多個項目(Docker支持)的“添加遷移”時,我遇到了同樣的錯誤。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow