当我将表拖到dbml文件中时,停止LINQ to SQL dbml更新连接字符串

时间:2012-06-26 18:26:24

标签: linq-to-sql connection connection-string

每次我将修改后的表拖到我的dbml中时,VS2010都希望我更新连接字符串,即使我已经创建了具有完全相同信息的数据连接。每次发生这种情况时,它都会将我的连接字符串更改为“DataSourceConnectionString”,我必须将其从5个不同的文件中删除,并将其替换为我之前使用的连接字符串的名称,这样就不会搞砸其他所有使用该文件的文件。源控制。任何想法?

2 个答案:

答案 0 :(得分:17)

在修补了一些相关问题的答案后,我想到了另一个人。

要解决我遇到的问题,我需要删除我创建的数据连接,以便从VS2010的服务器资源管理器窗口连接到我的数据库。然后,您需要打开.dbml设计器并右键单击空白区域并选择属性。将打开一个属性窗口,将显示“连接”部分,单击小箭头将其打开。如果单击连接字符串行,则会出现一个带有点(...)的按钮。单击此按钮时,将打开“连接属性”窗口。此窗口已经具有.dbml已具有的所有相同连接属性。您只需单击“确定”,它将自动在服务器资源管理器中为您创建一个数据连接,当您将新对象拖到它时,它将不会导致您向.dbml添加新的连接字符串!

耶!每次更新时都不再删除额外的连接字符串! :d

答案 1 :(得分:2)

实例化DataContext时,请使用允许您指定连接字符串的重载。这将覆盖Designer放置的任何值。例如,而不仅仅是:

DataClasses1DataContext db = new DataClasses1DataContext();

使用:

DataClasses1DataContext db = new DataClasses1DataContext("..connection string..");

DataClasses1DataContext db = new DataClasses1DataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);

希望这就是你要找的东西。