2013-05-27 63 views
1

在C#桌面应用程序中,我使用linq to sql连接到sql server 2008 r2数据库。应用程序设置为根据app.config文件中的值指向各种数据库。C#linq将sql连接字符串更改为默认设置

问题是*.designer.cs中的代码在.net问题框架中以某种方式被defaults覆盖。发生这种情况时,将从应用程序中删除using system.configuration,并使用default settings值来获取数据库连接字符串值。

当我发现出现这个问题,我需要做到以下几点:

  1. 地方using system.configuration代码回*.designer.cs文件

  2. 更改代码,使数据库连接信息从获得app.config file

  3. 删除属性设置,以便不使用default数据库连接。

因此,你能告诉我是什么原因导致这个问题发生以及如何解决问题?

+0

@JeremyThompson - 我不认为你明白他在说什么,设计师是唯一告诉dbml不要使用自己生成的连接字符串的地方,而是强制它使用另一个,并且在代码中当你使用(datacontext)写入...它会自动使用conn。现在我明白了,从dbml –

回答

1

我必须每次更新dbml文件时都这样做,这是一个真正的痛苦。有两件事你可以尝试。

首先 - 在更新dbml之后,右键单击dbml中的任意位置,转到特性,然后在连接字符串下,您应该能够从web.config或app.config中看到所需的一个。

如果它不在列表中,则将其设置为none,然后进入设计器文件并执行您一直在做的事情。

+0

+1的ctring。 –

+0

我尝试了你的建议,但我始终有这个问题 –