如何在实体框架中使用连接字符串指定用户名

sko*_*jen 2 c# sql-server entity-framework asp.net-core

我的 ASP.Net Core 应用程序不断尝试使用“默认”用户名登录数据库,即使我在我正在使用的连接字符串中指定了不同的用户。那就是我不断收到相同的异常,它说:

处理请求时发生未处理的异常。SqlException: 无法打开登录请求的数据库“testDB”。登录失败。用户 'DESKTOP-555DDD\skorejen' 登录失败

即使我使用的连接字符串定义了不同的用户名。

如何修复它以便我的应用程序使用连接字符串指定的用户名登录?

连接字符串:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=testDB;User Id=myusername;Trusted_Connection=True;"
  },
Run Code Online (Sandbox Code Playgroud)

ASP.Net Core Startup.cs 文件:

public void ConfigureServices(IServiceCollection services)
        {
             services.AddDbContext<OrderContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        }
Run Code Online (Sandbox Code Playgroud)

Rey*_*gle 6

ConnectionStrings必须采用以下格式:

使用凭据(SQL 身份验证):

"ConnectionStrings": {
  "DefaultConnection": "Server=myServerAddress; Database=myDataBase; User Id=myUsername; Password=myPassword; Trusted_Connection=false; MultipleActiveResultSets=true;"
}
Run Code Online (Sandbox Code Playgroud)

没有凭据(Windows 身份验证):

"ConnectionStrings": {       
  "DefaultConnection": "Server=myServerAddress; Database=myDataBase; Trusted_Connection=True; MultipleActiveResultSets=true"        
} 
Run Code Online (Sandbox Code Playgroud)


Ste*_*fan 3

您需要启用sql authentication mode、将用户添加到 sql server 登录名并在连接字符串中指定密码。

连接字符串示例:

服务器=myServerAddress;数据库=myDataBase;用户ID=myUsername; 密码=我的密码;

来源

启用sql authentication mode

在此输入图像描述