ASP.NET Core Web API - 由于提供程序:SSL 提供程序,更新数据库失败:0

Ayo*_*aye 2 c# migration asp.net-web-api

在我使用实体框架的 ASP.NET Core-6 Web API 中,我有以下代码:

我正在使用 IdentityDbContext。

应用程序数据库上下文:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    {
    }
    public DbSet<ApplicationUser> ApplicationUsers { get; set; }
    public DbSet<ApplicationRole> ApplicationRoles { get; set; }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        builder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly);
        base.OnModelCreating(builder);
    }
}
Run Code Online (Sandbox Code Playgroud)

连接配置:

public static class ConnectionConfiguration
{
    public static void AddDbContextAndConfigurations(this IServiceCollection services, IWebHostEnvironment env, IConfiguration config)
    {
        services.AddDbContextPool<ApplicationDbContext>(options =>
        {
            string connStr;
            connStr = config.GetConnectionString("MssqlDbConnection");
            options.UseSqlServer(connStr);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

程序.cs:

var builder = WebApplication.CreateBuilder(args);
ConfigurationManager configuration = builder.Configuration;
var environment = builder.Environment;

builder.Services.AddDbContextAndConfigurations(environment, configuration);
Run Code Online (Sandbox Code Playgroud)

然后appsettings.json中的connectionString:

"ConnectionStrings": { "MssqlDbConnection": "服务器=131.21.22.110,62431;数据库=MyDb;用户ID=sksswm;密码=asdffgg;" },

当我运行 add-migration 时,它成功了。但当我这么做的时候

更新数据库,我收到此错误:

已成功与服务器建立连接,但登录过程中出现错误。(提供程序:SSL 提供程序,错误:0 - 证书链是由不受信任的机构颁发的。)

我变了

"MssqlDbConnection": "Server=131.21.22.110,62431;Database=MyDb;User Id=sksswm; Password=asdffgg;"
Run Code Online (Sandbox Code Playgroud)

到

"MssqlDbConnection": "Server=131.21.22.110,62431;Database=MyDb;User Id=sksswm; Password=asdffgg; Trusted_Connection=True;"
Run Code Online (Sandbox Code Playgroud)

但错误仍然没有解决。

我什至可以使用相同的凭据手动(成功)登录 MSSQL 数据库。

我该如何纠正这个问题?

谢谢

Ayo*_*aye 8

我将trustServerCertificate=true添加到 connectionString 并得到解决。