在ASP.NET MVC中使用Entity框架时出现Unable to create object context
错误。
每当我POST
到控制器时,我都没有得到回复。我尝试直接使用控制器/Data/GetAll
的方法,并收到此错误:
指定的命名连接是 要么在配置中找不到, 不打算用于 EntityClient提供程序,或无效。 描述:未处理的异常 在执行期间发生 当前的网络请求。请查看 堆栈跟踪以获取更多信息 错误及其来源 代码。
异常详细信息:
System.ArgumentException:
指定的命名连接是 没有在配置中找到,没有 打算用于 EntityClient提供程序,或无效。
public class TrackItContextCreator {
public ObjectContext Create() {
ObjectContext context = new ObjectContext("name=TrackItDBEntities");
context.DefaultContainerName = "TrackItDBEntities";
return context;
}
}
<add name="TrackItDBEntities" connectionString="metadata=res://*
/EntityFramework.TrackItDBModel.csdl|res://*/EntityFramework.TrackItDBModel.ssdl|res:
//*/EntityFramework.TrackItDBModel.msl;provider=System.Data.SqlClient;provider
connection string="Data Source=host;User ID=myuseracc;Password=******;
MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
我能错过什么?
答案 0 :(得分:7)
从评论中,我想我知道问题是什么。
如果模型位于单独的程序集中,则基本上必须确保在的每个程序集的app.config
/ web.config
中指定了连接字符串模型。我猜你只在模型项目中有它。
另请参阅this question和this thread on MSDN。涉及模型的类似问题都在单独的项目/程序集中。我99%肯定这与你的问题有关。
答案 1 :(得分:0)
如果您使用类库开发Web应用程序,则应将数据库的connectionStrings都添加到Web.Config和App.Config中。