【发布时间】:2020-03-05 20:43:20
【问题描述】:
我只是想在包控制台管理器中使用命令来搭建 DbContext。我按照本教程使用 Db-first 方法,但总是收到“构建失败”错误消息。
https://www.entityframeworktutorial.net/efcore/create-model-for-existing-database-in-ef-core.aspx
下面是我使用的命令:
Scaffold-DbContext "Server=den1.mssql8.gear.host;Database=testdb;User Id=testdb;Password=actualPassword" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
与教程不同,我尝试使用远程 SQL 服务器(遗憾的是所有在线教程都使用本地 sql 服务器,好像它是世界上唯一的一种 db) 我已确保已安装 SQL Server 的 EntityFramework Provider 以及 Nuget 的工具。
我已经挖掘了几个小时,但找不到答案,所以任何形式的帮助都将不胜感激。
【问题讨论】:
-
您能否将整个错误消息添加到问题中?
-
这些类型错误通常是由两个问题引起的 1) 使用错误的实例名称 2) 凭据。首先打开 SQL Server Management Studio 并检查服务器名称/实例。确保您的连接字符串使用与登录相同。然后检查凭据是否为 Windows。如果是 Windows,则不需要使用用户 ID 和密码。而是使用“Server=den1.mssql8.gear.host;Database=testdb;Integrated Security=true;”
-
@jdweng 我使用 SSMS 测试了我的连接(使用 SQL 服务器身份验证),我可以确认它可以连接到服务器。
-
您的连接字符串是否使用与 SSMS 中的登录窗口相同的凭据和服务器/实例?如果打开数据库列表,数据库名称是否与 SSMS Explorer 中的名称相同? Windows 凭据与 Integrated Security = true 相同。数据库 testdb 也必须安装在服务器上。
-
@jdweng 是的,数据库是同一个“natedb”。我不使用 Window 凭据,因为它是远程 SQL 服务器。好的……无论出于何种原因,当我再次重新运行该命令时它才起作用……我猜比尔盖茨只是在某些方面伸出援助之手。仍然感谢您的帮助。
标签: c# sql-server entity-framework asp.net-core-mvc entity-framework-core