我是新來的MVC和實體框架。原因是什麼:「模型創建時無法使用上下文。」?
我有一個簡單的Azure MVC 3 web應用程序。我使用實體框架和Ninject,我的數據存儲在SQL數據庫中。
每當我嘗試向我的存儲庫發出併發請求時,都會收到此錯誤消息。例如,一個存儲庫是圖像標題,因此加載頁面時,如果存在多個圖片,它通常會失敗,並顯示以下消息:
「上下文無法在模型創建時使用。
這裏是我的連接字符串:
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=TheDBName; Integrated Security=SSPI; MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
對於Ninject,當我結合我試圖改變它使用InTransientScope也InRequestScope接口。沒有不同。
this.ninjectKernel.Bind<ICaptionsRepository>().To<EFCaptionRepository>().InTransientScope();
它失敗的部分是在這裏:
Caption foundCaption = currentCaptionRepository.Captions.FirstOrDefault(a => a.ID == pictureID);
請讓我知道如果你需要任何其他信息,以幫助發現問題。
乾杯!
編輯:這裏是堆棧跟蹤
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() at System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source, Expression`1 predicate) at MVCProject.WebUI.Controllers.ImageController.GetImageByIDWithSize(String id) in C:\MVCProject\MVCProject\MVCProject.WebUI\Controllers\ImageController.cs:line 131 at MVCProject.WebUI.Controllers.ImageController.GetImage(String id) in C:\MVCProject\MVCProject\MVCProject.WebUI\Controllers\ImageController.cs:line 215 at lambda_method(Closure , ControllerBase , Object[]) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.c__DisplayClass15.b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
什麼是堆棧跟蹤? – SLaks
剛剛添加到我的文章。謝謝! – kodikas
調用失敗的代碼在哪裏?只有當你重新啓動應用程序或所有的時間纔會發生?發生這種情況時有多少個併發請求正在運行? –