【问题标题】:Keep getting build fail when scaffold-DbContext for a remote SQL server database当远程 SQL Server 数据库的脚手架 DbContext 时,构建失败
【发布时间】: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


【解决方案1】:

经过这么多小时徒劳的搜索,这对我有用

Scaffold-DbContext "Server=serverIpAddress;Database=testdb;User Id=testdb;Password=actualPassword" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型 试试看。

【讨论】:

    猜你喜欢
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多