默认情况下,创建一个新的LINQ to SQL模型(.dbml)将放置 应用程序设置文件中的连接字符串也是 web.config / app.config。对于网络而言,这不是一个问题 项目,但类库项目呢?我有联系 我可以用它来检查所有页面中的连接,但我有一个 错误,它根本无法读取DataContext。
这是一张显示我问题的照片。
答案 0 :(得分:1)
一般来说,类库不支持配置文件。有一些方法可以使它工作,但它不被认为是一种好的做法,因为不同的应用程序可能使用相同的库与数据库的不同实例进行交互。我建议查看依赖注入或反转控制解决方案,如Ninject,将连接字符串从引用该库的应用程序传递给构造函数。
<强>更新强>
如果您绝对必须从程序集而不是调用应用程序中读取配置文件,则可以使用ConfigurationManager.OpenExeConfiguration()来完成。这里有几个答案提供代码样本,但我不会链接到它们,因为我强烈建议你不要走这条路。
答案 1 :(得分:0)
从它的外观来看,你没有使用LINQ to SQL - 我只能看到一个EntityFramework edmx。检查您的代码生成策略,并确保您尝试实例化正确的上下文名称(认为它是实体容器名称设置的任何内容)。
此外,您还需要确保引用System.Configuration。
答案 2 :(得分:0)
您需要将连接字符串放在主应用程序app.config
中只需在其中放置连接字符串的副本即可访问它们,或者在本例中为web.config