在实体框架核心构造函数中读取DbContextOptions值

皮耶罗·阿尔贝托(Piero Alberto)

在我的asp.net核心服务中,我在启动时就拥有了

services.AddDbContext<Mydb_Context>(
    options => options.UseSqlServer(Configuration["Settings:ConnString"]));

为了使它起作用,我还创建了以下代码段:

public Mydb_Context(DbContextOptions<Mydb_Context> options) : base(options)
{
    //other stuff here
}

我现在的问题是:在“此处的其他内容”部分中,如何读取选项值并检索我的连接字符串?由于存在另一个dll而不是同一项目,因此我不能仅从appsettings.json中再次读取它。

如果在调试会话期间破坏代码,则可以在此对象内的值中看到连接字符串,但我不知道如何正确获取它。我在选项对象的“扩展”属性内看到此值。

那么,如何读取DbContextOptions值?

伊万·斯托夫

那么,如何读取DbContextOptions值?

您可以(不是公开的,而是使用某些EF Core内部基础结构对象,特别是RelationalOptionsExtension类),但是您不需要这样做。

要获取连接信息,只需使用上下文Database属性和GetDbConnextion方法:

public Mydb_Context(DbContextOptions<Mydb_Context> options) : base(options)
{
    //other stuff here
    var connectionString = this.Database.GetDbConnection().ConnectionString;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

实体框架无法在实体构造函数中绑定值对象

构造函数中带有DbOptions的实体框架核心DbContext继承问题

如何使用实体框架核心1.0从ASP.MVC核心的数据库中读取记录

实体框架核心-迁移-没有为此对象定义无参数构造函数

实体框架核心错误:没有为此对象定义无参数构造函数

实体框架核心:无法添加迁移:无无参数构造函数

使用实体框架核心在Postgresql中执行返回原始函数的存储函数

'值不能为空。(参数 'connectionString')' - Azure 函数 - 实体框架核心

如何从 DBContext(实体框架核心)中的 App.config(不是 .net 核心应用程序)读取值

实体框架核心:包含在 TPH 中

Select中的实体框架核心计数

如何在实体框架和函数中处理空值

实体框架核心:无法使用嵌套值对象更新实体

.NET核心实体框架中的状态实体-建议的实现

实体框架核心收益

实体框架核心的性能

实体框架核心ForEachAsync

实体框架核心配置

实体框架核心 - 不在

Visual Studio中的实体框架:数据库不是使用DbContext基本构造函数创建的

实体框架核心中的SQL RIGHT函数等效项

如何在实体框架核心中调用标量函数

PostgreSQL的实体框架核心代码优先默认值

实体框架核心where子句具有多个值

使用实体框架核心2.0返回的新插入的行值

使用实体框架核心仅编辑更改或提及的值

实体框架核心和Cosmos DB。使用LINQ表达式读取实体

读取核心数据实体的属性值

如何使用实体框架核心更改表中的列类型