gpt4 book ai didi

sql-server - 脚手架-DbContext "Login Failed" "Error Number:4060,State:1,Class:11"

转载 作者:行者123 更新时间:2023-12-03 11:25:33 27 4
gpt4 key购买 nike

我的 ASP.NET MVC 核心应用程序应该通过 Entity Framework 连接到现有的 MSSQL LocalDB 文件。

数据库优先开发需要对现有数据库进行逆向工程。
按照 official documentation 中的说明进行操作,我在 NuGet 包管理器控制台中运行以下命令:

Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=DatabaseName;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

但是我得到
No design-time services were found.
System.Data.SqlClient.SqlException (0x80131904): Cannot open database "DatabaseName" requested by the login. The login failed.
Login failed for user 'MACHINE-NAME\UserName'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling)

Error Number:4060,State:1,Class:11
Cannot open database "DatabaseName" requested by the login. The login failed.
Login failed for user 'MACHINE-NAME\UserName'.

最佳答案

由于“登录失败”可能表示无法找到数据库,我决定在 Visual Studio Server Explorer 中复制粘贴连接字符串,通过右键单击数据库并选择“属性”找到。

所以新的命令是

Scaffold-DbContext "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\...AbsolutePath...\DatabaseFileName.mdf;Integrated Security=True;Connect Timeout=30" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -verbose

而且……它奏效了。
所以:
  • 而不是 Server , 我用过 Data Source
  • 我没有使用数据库名称,而是写了 LocalDb 文件的完整路径
  • 关于sql-server - 脚手架-DbContext "Login Failed" "Error Number:4060,State:1,Class:11",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736620/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com