【发布时间】:2012-04-05 01:37:35
【问题描述】:
我需要在相同设计的不同数据库实例之间进行交换。有没有办法将 DBML 重新指向这个不同的数据库。理想的做法是在代码中指定不同的 web.config 连接字符串。但是,不想更改代码库中的 Datacontext 名称。如果在 ADO.NET 中执行此操作,则可以选择连接字符串。
谢谢,
埃德
【问题讨论】:
标签: asp.net sql ado.net linq-to-xml
我需要在相同设计的不同数据库实例之间进行交换。有没有办法将 DBML 重新指向这个不同的数据库。理想的做法是在代码中指定不同的 web.config 连接字符串。但是,不想更改代码库中的 Datacontext 名称。如果在 ADO.NET 中执行此操作,则可以选择连接字符串。
谢谢,
埃德
【问题讨论】:
标签: asp.net sql ado.net linq-to-xml
当您实例化 DBML 时,将从配置文件中检索适当的连接字符串。 (app.config 或 web.config)。在未找到设置的情况下,使用初始连接字符串(作为属性存在于 DBML 中,可以通过设计器查看)。
如果您通过单个实例使用多个连接字符串,则只需要使用连接字符串构造函数,并且需要指定您应该连接到的数据库。
在您的情况下,您只需在执行的设置文件中包含适当的连接字符串。连接字符串必须正确命名 - 请参阅放置在包含 DBML 的项目中的设置以检查名称。
【讨论】:
您可以使用 web.config 转换并轻松交换所需的配置,这里有一些链接:
Common Web.Config transformations with Visual Studio 2010
Web.config Transformation Syntax for Web Application Project Deployment
【讨论】:
你应该能够做到这一点。当您生成 DBML 时,它通常会将连接字符串写入配置文件(web.config 或 app.config)。我们应该只更改配置文件中的数据库位置。但是,您必须确保所有数据库都处于同步状态。
【讨论】: