1

带有类库项目的 LINQ to SQL 连接字符串

默认情况下,创建新的 LINQ to SQL 模型 (.dbml) 会将连接字符串放在应用程序设置文件和 web.config / app.config 中。这对于 web 项目来说不是什么大问题,但是类库项目呢?我有一个连接类,我可以用它来检查所有页面中的连接,但我有一个错误,它根本无法读取 DataContext。

这是一张显示我的问题的照片。

在此处输入图像描述

4

3 回答 3

1

一般来说,类库不支持配置文件。有一些方法可以使它工作,但这不是一个好的做法,因为不同的应用程序可能使用同一个库与数据库的不同实例进行交互。我建议查看像 Ninject 这样的依赖注入或控制反转解决方案,以将连接字符串从引用该库的应用程序传递给构造函数。

更新:

如果您绝对必须从程序集而不是调用应用程序读取配置文件,则可以使用ConfigurationManager.OpenExeConfiguration()来完成。SO上有几个答案提供了这样做的代码示例,但我不会链接到它们,因为我强烈建议你不要走那条路。

于 2013-08-07T22:08:36.167 回答
0

您需要将连接字符串放在主应用程序 app.config

只需将连接字符串的副本放在那里,您就可以访问它们,或者在本例中为 web.config

于 2013-08-17T18:14:09.613 回答
0

从外观上看,您没有使用 LINQ to SQL - 我所看到的只是一个 EntityFramework edmx。检查您的代码生成策略,并确保您尝试实例化正确的上下文名称(认为它是实体容器名称设置的任何内容)。

您还需要确保引用 System.Configuration。

于 2013-08-07T22:14:46.303 回答