如何从EF Core 2.0 DbContext获取connectionString

Cyr*_*rus 20 entity-framework entity-framework-core .net-core

在EF6中使用此代码:

    public string GetConnectionString(DbContext ctx)
    {
        ObjectContext _objectContext = ((IObjectContextAdapter)ctx).ObjectContext;
        if (_objectContext?.Connection != null)
        {
            EntityConnection entityConnection = _objectContext.Connection as EntityConnection;
            return entityConnection?.StoreConnection?.ConnectionString;
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

如何在EF Core 2.0中执行此操作?

Eri*_*kEJ 47

var connectionString = ctx.Database.GetDbConnection().ConnectionString;
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,在nuget包中找到它:`Microsoft.EntityFrameworkCore.Relational` (7认同)
  • 但它不包括密码。 (5认同)
  • 在 Ef Core 2.2 中,您需要添加 using Microsoft.EntityFrameworkCore; (4认同)