Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
C# 更改连接字符串而不重新生成_C#_Asp.net_.net_Web.config Transform - Fatal编程技术网

C# 更改连接字符串而不重新生成

C# 更改连接字符串而不重新生成,c#,asp.net,.net,web.config-transform,C#,Asp.net,.net,Web.config Transform,通常使用以下方法创建项目: 创建一个具有1个DAL类的解决方案(这有一个dbml文件)。创建一个名为BLL的二级项目,它是创建CRUD操作的业务层。最后有一个Asp.Net项目 我要做的第一件事是在DAL(数据访问层)中创建到数据库的连接并拖动所需的表。 我在BLL项目中创建代码来获取、编辑数据等。 然后,我必须在Asp.Net项目中添加一个连接字符串,以便它可以连接到数据库 我一直面临的问题是,当我将项目部署到测试服务器时,我可以轻松更改Asp.Net projects web.config连

通常使用以下方法创建项目:

创建一个具有1个DAL类的解决方案(这有一个dbml文件)。创建一个名为BLL的二级项目,它是创建CRUD操作的业务层。最后有一个Asp.Net项目

我要做的第一件事是在DAL(数据访问层)中创建到数据库的连接并拖动所需的表。 我在BLL项目中创建代码来获取、编辑数据等。 然后,我必须在Asp.Net项目中添加一个连接字符串,以便它可以连接到数据库

我一直面临的问题是,当我将项目部署到测试服务器时,我可以轻松更改Asp.Net projects web.config连接字符串,但在第一次运行时,应用程序中断(无法连接到sql数据库),因为DAL仍在查看原始连接字符串。因此,我要做的是在DAL项目中设置新的连接字符串,然后编译并复制该字符串,然后允许一切工作

当从测试服务器转到实时服务器时,我也面临同样的问题。我读过有关使用配置文件的内容,但据我所知,它们可以被使用。。。。。但是肯定有更简单的方法,在一个地方更改连接字符串,而不必重新编译我的DAL dll


是否有我缺少的技巧或我可以利用的插件?

如果您不想使用两个连接字符串(一个在UI的web.config中,另一个在数据访问中),并且不想依赖特定的数据库(在本例中为SQL Server),则可以在web.config UI上只使用一个连接字符串

完成此操作后,在DA上,只需使用DLLMicrosoft.Practices.Enterprise.Data,就可以不依赖SQL进行连接


下一次,当您想将应用程序从SQL迁移到Oracle时,由于不再使用SQLConnection,您只需更改连接字符串及其“完成!”!。您到Oracle的迁移在1分钟内完成。

您自己解决了。是的,请使用配置文件。您的项目解决方案中是否未使用
web.config
?我使用的是web.config文件,但正如我所述,ASP.Net web项目连接到新的连接字符串,但我必须重新编译DAL,它似乎正在使用以前的连接。请注意这里有3个不同的项目为什么需要重新编译?您需要从web.config读取连接字符串,而不是硬编码。@SriramSakthivel请注意,连接是基于两个项目的。这听起来像是我想要的。我将研究Microsoft.Practices.Enterprise.Data。你能给我举个例子就好了。如果这样做行得通,我会将您的回答标记为答案-谢谢有两种不同的方法可以做到这一点:使用dll或使用reference System.Data.common.dbconnection创建您自己的类。请记住,一旦您实现了这一点,就要更改对数据库(您的类或dll)的调用的所有sqlconnections或sql引用,这样从现在起就不必依赖sql来连接到数据库。