繁体   English   中英

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

[英]How to read value from App.config (not .net core app) in DBContext (which is entity framework core)

我正在使用带有新实体框架核心的旧应用程序(标准 .net 框架 wpf 应用程序)。

在此处输入图像描述 我在这里通过硬编码连接字符串建立了与数据库的连接:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
   optionsBuilder.UseSqlServer(@"server=baaa;database=baaa;User=saaa;Password=xsaa1;");
}

但我想将我的连接字符串移动到 App.config 或其他地方并从那里读取它而不是将其硬编码。

由于我的 WPF 应用程序不是 .net 核心 WPF 应用程序我不能使用 DI 来写这样的东西:

IConfigurationRoot configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json")
                .Build();

那么问题是如何在实体框架核心的 DbContect 中从我的旧 WPF (.NET FRAMEWORK) 应用程序读取连接字符串?

谢谢

干杯

你可以使用微软的 ConfigurationManager它既存在于 .net core 中,也存在于 .net framework 中。 在 .net 核心,您可以简单地从 nuget 添加,而 at.framework 只需添加 system.configuration dll

读取应用程序设置:

 var version=ConfigurationManager.AppSettings["APP_SETTING_KEY"].ConnectionString;

读取连接字符串:

 var cs =ConfigurationManager.ConnectionStrings["YOUR_CS_KEY"].ConnectionString;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM