Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在LINQ设计器文件中保留ConnectionString_.net_Linq - Fatal编程技术网

.net 在LINQ设计器文件中保留ConnectionString

.net 在LINQ设计器文件中保留ConnectionString,.net,linq,.net,Linq,每当我将新的数据库对象从服务器资源管理器拖放到dbml中时,VisualStudio都会将设计器文件中的连接字符串替换为新的连接字符串,并自动将其添加到配置文件中的连接字符串中。它们都有完全相同的参数,只是名称不同 如何强制Visual Studio使用并保留我已有的连接字符串 例如,在dbml-designer.cs中,我有: base(global::System.Configuration.ConfigurationManager.ConnectionStrings["ConnString

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

如何强制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。

您需要确保Visual Studio的服务器资源管理器中使用的connectionstring与dbml文件中已定义的connectionstring相同

我不太清楚你说的不同的名字是什么意思,你是说数据库的名字吗?当我为开发和生产使用不同的数据库名称时,我通常会在开发时保留development connectionstring值,但在我的主应用程序中更改connectionstring值。这是因为我通常在单独的程序集中开发LINQ逻辑


或者,保留两个ConnectionString:一个用于添加新数据库对象,另一个用于测试,例如。当然,在跟踪将使用的连接字符串时,您必须格外小心。

这里有一篇很好的帖子,介绍了您的选择: