首页 新闻 会员 周边

linq to sql 怎么用web.config里的连接

0
悬赏园豆:5 [已解决问题] 解决于 2010-08-18 09:36

linq 会自动生成app.config 默认把连接放在这里面,
但是我想让它用web.config里的链接,我知道一种方法就是改context类里的构造方法,
但是这样改了他自己生成的源码,只要数据库一变动,需要重新生成,就还得再改一遍.
有没有其它办法呢?

问题补充: 传参的方法就不用说了.偶知道.这样比较麻烦.
蝗虫的大腿的主页 蝗虫的大腿 | 初学一级 | 园豆:22
提问于:2010-08-17 09:35
< >
分享
最佳答案
0

1,可以直接改app.config中的连接。

2,可以在生成.dbml文件时,将连接保存在web.config中,话说我在vs2010中建立一个linq to sql类,它的确是将连接字串保存在web.config中的

收获园豆:10
风海迷沙 | 老鸟四级 |园豆:4453 | 2010-08-17 10:54
其他回答(2)
0

那可以不改默认的配置。context 的构造方法有重载的, 你在创建 Context 实例的时候,调用那个可传参数的方法。就可以了啊。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-17 09:39
传参这不就多一步了吗?
支持(0) 反对(0) 蝗虫的大腿 | 园豆:22 (初学一级) | 2010-08-17 12:36
你构建 context对象的地方应该只有一个吧?只要一个地方做处理就行了。
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-18 10:35
0

Context 有多个构造函数版本,如下:

        // 摘要:
        //     通过引用由 .NET Framework 使用的连接来初始化 System.Data.Linq.DataContext 类的新实例。
        //
        // 参数:
        //   connection:
        //     由 .NET Framework 使用的连接。
        public DataContext(IDbConnection connection);
        //
        // 摘要:
        //     通过引用文件源来初始化 System.Data.Linq.DataContext 类的新实例。
        //
        // 参数:
        //   fileOrServerOrConnection:
        //     此参数可以是下列项之一:SQL Server Express 数据库所在的文件的名称。数据库所在的服务器的名称。在此情况下,提供程序对用户使用默认数据库。完整的连接字符串。LINQ
        //     to SQL 仅将字符串传递给提供程序,而不进行修改。
        public DataContext(string fileOrServerOrConnection);
        //
        // 摘要:
        //     通过引用连接和映射源初始化 System.Data.Linq.DataContext 类的新实例。
        //
        // 参数:
        //   connection:
        //     由 .NET Framework 使用的连接。
        //
        //   mapping:
        //     System.Data.Linq.Mapping.MappingSource。
        public DataContext(IDbConnection connection, MappingSource mapping);
        //
        // 摘要:
        //     通过引用文件源和映射源初始化 System.Data.Linq.DataContext 类的新实例。
        //
        // 参数:
        //   fileOrServerOrConnection:
        //     此参数可以是下列项之一:SQL Server Express 数据库所在的文件的名称。数据库所在的服务器的名称。在此情况下,提供程序对用户使用默认数据库。完整的连接字符串。LINQ
        //     to SQL 仅将字符串传递给提供程序,而不进行修改。
        //
        //   mapping:
        //     System.Data.Linq.Mapping.MappingSource。
        public DataContext(string fileOrServerOrConnection, MappingSource mapping);

你可以在实例化时根据需要选择,默认就是从配置文件获取.

Launcher | 园豆:45045 (高人七级) | 2010-08-17 09:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册