无法创建对象上下文

.net asp.net-mvc c# entity-framework

在ASP.NET MVC中使用Entity框架时,我得到Unable to create object context错误。

背景

每次我向控制器POST ,我都没有得到回复。我试着直接转到controller /Data/GetAll ,并收到此错误:

错误

指定的命名连接在配置中找不到,不打算与EntityClient提供程序一起使用,或者无效。描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: System.ArgumentException:在配置中找不到指定的命名连接,不打算与EntityClient提供程序一起使用,或者无效。

抛出异常的代码片段:

public class TrackItContextCreator {
    public ObjectContext Create() {
        ObjectContext context = new ObjectContext("name=TrackItDBEntities");

        context.DefaultContainerName = "TrackItDBEntities";

        return context;
    }
}

Web.config文件

<add name="TrackItDBEntities" connectionString="metadata=res://*
/EntityFramework.TrackItDBModel.csdl|res://*/EntityFramework.TrackItDBModel.ssdl|res:
//*/EntityFramework.TrackItDBModel.msl;provider=System.Data.SqlClient;provider
 connection string=&quot;Data Source=host;User ID=myuseracc;Password=******;
MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

我能错过什么?

热门答案

从评论中,我想我知道问题是什么。

如果模型位于单独的程序集中,则基本上必须确保在使用该模型的每个程序集的app.config / web.config中指定了连接字符串。我猜你只在模型项目中有它。

有关另一个示例,请参阅此问题 ,以及MSDN上的此主题 。涉及模型的类似问题都在单独的项目/程序集中。我99%确定这与您的问题有关。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因