将ConnectionString保留在LINQ设计器文件中

时间:2008-10-24 14:58:01

标签: .net linq

每当我将一个新的数据库对象从服务器资源管理器中删除到dbml中时,Visual Studio会将设计器文件中的连接字符串替换为一个新的连接字符串,它会自动添加到我的配置文件中的连接字符串中。它们都具有完全相同的参数,只是名称不同。

如何强制Visual Studio使用并保留我已有的连接字符串?

例如,在dbml-designer.cs中,我有:

base(global::System.Configuration.ConfigurationManager.ConnectionStrings["ConnString1"].ConnectionString, mappingSource)

是自动生成的。在我的配置文件中,我有:

<add name="DefaultConnString" connectionString="EXACTLYTHESAME"
    providerName="System.Data.SqlClient" /> <add name="ConnString1" connectionString="EXACTLYTHESAME"
    providerName="System.Data.SqlClient" />

每当我将数据库对象拖到dbml时,会自动添加ConnString1。

我希望designer.cs使用DefaultConnstring。

2 个答案:

答案 0 :(得分:5)

这里有一篇很好的文章解释了你的选择:

http://blog.jongallant.com/2007/11/linq-web-app-connection-strings.html#.UGA8Q42PUg0

答案 1 :(得分:1)

您需要确保Visual Studio的服务器资源管理器中使用的连接字符串与dbml文件中已定义的连接字符串相同。

我不太确定你用不同的名字是什么意思,你的意思是数据库名称?当我有一个不同的数据库名称用于开发和生产时,我通常做的是在开发时保留开发连接字符串值,但更改主应用程序中的connectionstring值。这是因为我通常在单独的程序集中开发LINQ逻辑。

或者,您保留两个连接字符串:一个用于添加新数据库对象,另一个用于测试,例如。当然,你必须要特别注意跟踪你将使用哪个连接字符串。