.net - 在 C# 类库中,是否需要多个,以及 Entity Framework 绑定 App.config?

  显示原文与译文双语对照的内容

我有一个作为 C# 类库dll编译的to项目,并且有几个它的他项目可以针对我的数据库引用。 我的问题是,我是否必须在每个使用这个数据库上下文的项目中保留 app.config的冗余副本? 我也在每个应用程序项目中获得了对 Entity Framework的独立引用,即使我希望封装这个项目。 ( 我想我仍然可以这样做,如果我暴露了一个web服务或者什么,而不是所有的public 类。)

是否必须在每个可以执行的项目 app.config 中指定连接字符串? dll项目的配置文件是否被重写? 我有一个很有趣的感觉。

我确实看到了这个答案of允许包含外部配置,但它只影响配置文件的ccr部分。 现在所有的配置文件都是 app.config 而不是 Web.Config,因为我的应用都是控制台。桌面或者服务应用程序,但我假设相同的原则适用于引用单个类库的web应用程序。

对每个数据库都包含命名连接字符串,并通过添加现有项目来指定每个可以执行项目,这是有意义的:是否有一个单独的app.config 文件。 如果我这样做,可以在每个可以执行文件中使用设置文件来允许重写哪个连接而不重新生成项目。 这将大大减少我想要的构建目标数量;否则我会有DB实例和可以执行文件的笛卡尔积。

时间:

不一定,取决于我想要的。 我可以使用所有可以执行文件共享一个 app.config 文件,并在运行时将多个连接字符串放在该文件中。 或者,我可以为每个部署场景设置单独的构建,但如果唯一的差别是,它们的编译时间和磁盘空间。 它看起来像连接字符串,计数是exe的in,而不是类库dll项目中的app.config 。

另一个技巧是 configSource 属性。 参见这里代码项目项目。

...