0

我需要在相同设计的不同数据库实例之间进行交换。有没有办法将 DBML 重新指向这个不同的数据库。理想的做法是在代码中指定不同的 web.config 连接字符串。但是,不想更改代码库中的 Datacontext 名称。如果在 ADO.NET 中执行此操作,则可以选择连接字符串。

谢谢,

埃德

4

3 回答 3

2

您可以使用 web.config 转换并轻松交换所需的配置,这里有一些链接:

使用 Visual Studio 2010 进行常见的 Web.Config 转换

Web 应用程序项目部署的 Web.config 转换语法

于 2012-04-05T01:51:55.200 回答
2

当您实例化 DBML 时,将从配置文件中检索适当的连接字符串。(app.configweb.config)。在没有找到设置的情况下,使用初始连接字符串(作为属性存在于 DBML 中,并且可以通过设计器查看)。

如果您通过单个实例使用多个连接字符串,则只需要使用连接字符串构造函数,并且需要指定您应该连接的数据库。

在您的情况下,您只需在执行设置文件中包含适当的连接字符串。连接字符串必须正确命名 - 请参阅放置在包含 DBML 的项目中的设置以检查名称。

于 2012-04-05T02:27:34.627 回答
1

你应该能够做到这一点。当您生成 DBML 时,它通常会将连接字符串写入配置文件(web.config 或 app.config)。我们应该只更改配置文件中的数据库位置。但是,您必须确保所有数据库都处于同步状态。

于 2012-04-05T01:48:50.067 回答