在使用 EF 时可能会出现这样一个问题:
No connection string named 'MyEntities' could be found in the application config file
意思是:在应用程序配置文件中找不到名为“MyEntities”的连接字符串
出现这样的报错的原因就是,没有将 EF 连接数据库的配置节 添加 到启动项目的配置节里面。
比如说项目结构是这样的:
MS.BLL //类库
MS.Model //类库
MS.Web //Web
MS.DAL //类库
我们把 EF 实体类放在了 MS.Model
这层项目里面,但是这层项目生成的只是 DLL
文件,而我们的启动项目在 MS.Web
,可是我们添加 EF 实体类的时候放在了 MS.Model
这层项目里面,因此 EF 连接数据库的配置节信息(连接字符串)也是在MS.Model
这层项目里面 App.config
里面,但是我们启动的时候查找的是 MS.Web
项目的配置节,当然找不到 EF 的连接字符串了!
解决方案 : 将MS.Model
这层项目里面的 App.config
文件中的
<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Test1;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
配置节 拷贝 到 MS.Web
项目的 Web.config
中