-1

我有问题,找不到解决方案。
开始时我有那个App.config文件:

...
<connectionStrings>
    <add name="IdealsadEntities" connectionString="" providerName="System.Data.EntityClient" />
</connectionStrings>
...

在我的应用程序 ( WinForm ) 中,我从xml文件读取连接到数据库的参数,然后覆盖 App.config 并获得编译文件AppName.exe.config

问题在于创建我的实体实例。我在创建文件后使用了这段代码:

IdealsadEntities _db = new IdealsadEntities();

但在第一次运行应用程序_db.Database.ConnectionnullAppName.exe.config在第二次运行它从文件中读取并且工作正常。

问题:

  • 所以我的问题是为什么即使我重写这个文件也要先运行读取空字符串?
  • DbContext 是否更早执行?
  • 如何修复它,从重写的文件中获取新的连接字符串?
4

1 回答 1

2

您的 app.config 仅在应用程序启动时读取。在您重新启动程序之前,不会注意到您在应用程序运行时写入的更改。

但是,您可以使用连接字符串构造实体,如下所示:

IdealsadEntities _db = new IdealsadEntities("metadata=res://...");

将连接字符串中的相应信息替换为从其他文件中读取的数据。

于 2012-10-17T07:57:21.207 回答