EF Core 6试图从应用程序中读取.json,但我不希望这样



我有一个EF Core应用程序,在UseSqlServer选项中工作良好,我正在从appsettings.json中称为MyDbConnectionString的属性读取连接字符串。

当我在父属性AppInsights下引入ConnectionString时,问题就开始了。DbContext现在看到这个新的ConnectionString,并且抛出连接字符串格式不正确的错误。我不希望DbContext担心appsettings.json,并希望它继续使用我提供的连接字符串。

我怎么能让EF core不为appsettings.json操心呢?

代码:

var configurationFile = new ConfigurationBuilder().AddJsonFile("appSettings.json");
_config = configurationFile.Build();
string ihcSqlDatabaseConnectionString = _config.GetSection("Settings")["IhcSqlDatabaseConnectionString"];
string DatabaseConnectionString = string.Concat(ihcSqlDatabaseConnectionString, ";persist security info = True;MultipleActiveResultSets=True;App=EntityFramework;");
IServiceCollection serviceCollection = new ServiceCollection();
serviceCollection.AddServices();
serviceCollection.AddDbContext<ProxyServiceDbContext>(options => options.UseSqlServer(DatabaseConnectionString));

EF core将使用您在注入dbcontext服务时设置的连接字符串。

我猜你使用错误的AppInsights连接字符串,请确保它是正确的。

例如。你可以定义一个像AppInsights这样的属性,它包含正确的连接字符串,然后在dbcontext中使用它。

更多细节,可以参考下面的代码:

var AppInsights ="Server=(localdb)\mssqllocaldb;Database=xxxxxx;Trusted_Connection=True;MultipleActiveResultSets=true";
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(AppInsights));

实际上,DB上下文正在评估其日志记录器,这是应用程序的见解。我的appsettings。Json中应用设置的值无效。Json,这是异常的原因。db连接字符串被正确使用,没有从appinsights连接字符串中获取。

相关内容

  • 没有找到相关文章

最新更新