解决连接字符窜的办法

代码
LinqToSql会把连接字符串散落地写在多个位置,并且编译后就固定不可更改了。

于是带来了各种不方便。比如在一台机器上配置好的程序拿到另一台机器上,就不得不找出所有散落的连接字符串,然后一一修改才能跑起来。

大家一定很希望在使用LinqToSql时也能从配置文件里读取连接字符串。

下边的技巧让我们达成这个目的。

1:在项目中添加一个LinqToSql类,假设名字为DataClasses1。

 

于是.NET会自动生成一堆东西:

 

双击DataClasses1.dbml,打开设计页面,从ServerExpoloer窗口拖几张表到这个设计页面,保存一下。

2:在DataClasses1.designer.cs文件中,找到DataClasses1DataContext的无参构造方法(它有许多构造方法,只找到无参的那个)。

 

将这个方法剪切掉。

3:在项目中新加一个类,确保这个类和生成的DataContext类名相同,都叫DataClasses1DataContext。在这个类定义前边加上partial修饰符。

4: 将刚刚剪切掉的方法复制到新添加的类中。修改base后边的参数为你的配置文件中的连接字符串。

最后效果如下图。

 

5:如果你想要删除settings文件就删了吧,因为你下次往dbml里拖数据库类的时候它又会自动生成。

6:进入dbml的设计界面,在空白处右键,点“属性”。在属性栏里将“连接”项设置为“无”。 

 

经过以上六步之后,你的Linq将只通过配置文件中的连接字符串去连接数据库,而不去关心你的表示从什么地方拖过来的。

每次往dbml里拖入新的类时,都记着重复一下步骤6.

一切OK了从此LinqToSql也移动自如了~~

 

 

http://vstohome.com/archives/4157

posted @ 2010-08-30 10:08  咸鱼公子  Views(184)  Comments(0Edit  收藏  举报