首页新闻找找看学习计划

Linq for sql查询说找不到连接字符串?

0
悬赏园豆:10 [已解决问题] 解决于 2014-10-28 23:35

web.config中明明有名为"Campus"的连接字符串,为什么在执行linq for sql查询时提示“No connection string named 'Campus' could be found in the application config file.”?是哪里的设置出问题了吗?

问题补充:

我又新建了一个控制台项目,用同样的DbContext和linq代码,却能输出正确的结果。但是之前那个web项目就不行,反复建立新的DbContext都没有用

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:251
提问于:2014-10-28 20:26
< >
分享
最佳答案
0

一個可能是,你的web.config被污染了,沒法讀出來。

LINQ FOR SQL有一個位置的代碼是讀CONFIG中的配置項的,你完全可以在那兒設置一個斷點,看看啊。

或者你也可以自己寫句代碼讀一下WEB.config的這個連接字符串,看能否讀到。

收获园豆:10
爱编程的大叔 | 高人七级 |园豆:29841 | 2014-10-28 21:26
<connectionStrings>
    <add name="Campus" connectionString="Data Source=ASUKA-PC\SQLEXPRESS;Initial Catalog=Campus;Persist Security Info=True;User ID=xx;Password=xxxxx;MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

Web.Config明明白白有这一句。

而且我新建了一个工程之后重写一遍代码是能读的,就是之前的那个项目不能读。不知道是为什么。

进一步发现如果访问的代码是在类库项目中就无法读到,但是在其他类型的项目(如控制台或web项目中)都能读到

飞鸟_Asuka | 园豆:251 (菜鸟二级) | 2014-10-28 21:38

@飞鸟_Asuka: 你如果是使用类库的,你要把这部份手工加上网站项目web.config文件中。

因为实际运行的时候,是只读主网站的。

爱编程的大叔 | 园豆:29841 (高人七级) | 2014-10-28 22:18

@爱编程的大叔: 原来是这样!忽略了!

非常感谢!

飞鸟_Asuka | 园豆:251 (菜鸟二级) | 2014-10-28 23:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册