我有一个包含多个项目的解决方案,例如类库、网站、服务等。
类库和服务等项目具有与同一数据库的 dbml 连接。这意味着项目具有连接字符串,例如:
MySolution.ClassLibrary.DatabaseA
MySolution.ClassLibrary.DatabaseB
MySolution.ClassLibrary.DatabaseC
MySolution.Service.DatabaseA
MySolution.Service.DatabaseD
这有点混乱,因为我正在复制连接字符串。出于集成目的,我还添加了另一个共享组件类库——它也可以访问相同的数据库(不同的表)。所以我现在在某些地方有 3 个相同连接字符串的实例!
如前所述,这不仅很混乱,而且还容易出现错误,因为如果网站或服务中缺少连接字符串,它将最终尝试指向我们的开发数据库(因为它默认为类中的设置图书馆)。
我真正想要的只是拥有一个非或通用命名空间版本的连接字符串,并在任何地方共享它,例如
MySolution.ConnectionStrings.DatabaseA
MySolution.ConnectionStrings.DatabaseB
MySolution.ConnectionStrings.DatabaseC
MySolution.ConnectionStrings.DatabaseD
然后我会将每个 dbml 指向这些连接字符串并完成工作!
问题是VS2012在更改dbml(右键单击>属性)中的连接字符串时出现问题。它在 app 或 web.configs 和 Settings.settings 之间混淆 - 通常在选择 DatabaseConnectingStringA 时,它会创建一个名为 DatabaseConnectionStringA1 的新的,这非常令人沮丧!当您通过项目设置添加它时,它还将始终将它自己的命名空间添加到连接字符串中 - 这是 dbml 所必需的。
有没有人有让VS做到这一点的技巧或方法?