如何在一个解决方案中共享多个项目中的一个连接字符串

时间:2014-06-06 13:43:34

标签: c# sql-server entity-framework

我的解决方案中有一个项目,旨在为EF存储我的model.ecmx文件。这不是解决方案的启动项目。该项目中包含App.Config个文件。

我在解决方案启动项目中有另一个App.Config文件。

连接字符串在App.Config files中定义。

这是对的吗?

1 个答案:

答案 0 :(得分:4)

如果每个项目都可以使用相同的App.config,您只需在一个项目中拥有一个副本,并将其作为"链接包含在其他项目中,而不是唯一的文件。

请将文件作为链接包含在内,只需在项目中保留一份文件,然后转到每个项目并执行"添加" - > "现有文件"。选择文件时,请下拉"添加"按钮而不是单击它,并选择添加为链接:

Add as Link

如果他们无法共享相同的App.config,您可以使用该语法为连接字符串使用单独的配置文件,然后将文件包含为链接。< / p>

第二个选项的示例:

主app.config:

<connectionStrings configSource="other.config">
</connectionStrings>

请注意,使用connectionStrings时,上面的configSource元素必须完全为空。

然后是other.config:

<?xml version="1.0"?>
<connectionStrings>
   ....
</connectionStrings>

此模式可用于许多配置部分,而不仅仅是connectionStrings


或者,Rahul指出了另一个很好的选择;您可以在更高级别定义连接字符串,例如machine.config。这可能会使部署变得更复杂,但工作更简单。