在我的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] 删除。
我来说两句