無法創建對像上下文

.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%確定這與您的問題有關。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因