none
Беда с EntityFramework RRS feed

  • Вопрос

  • Здравствуйте, столкнулся с довольно странной ошибкой в EntityFramework. Сами классы таблиц и миграции у меня находятся в отдельном проекте. Сам проект у меня работал, до тех пор пока я не обновлял EF, но даже и после даунгрейда у меня возникает ошибка 

    Базовая модель контекста "DataBaseEntityes" изменилась с момента создания базы данных. Рассмотрите возможность обновления базы данных с помощью Code First Migrations (http://go.microsoft.com/fwlink/?LinkId=238269).

    Ошибка известная, и довольно легко решаемая нужно просто создать миграцию и накатить ее на базу, но нет. Даже после наката эта ошибка не исчезает. То есть у меня база данных создана полностью по модели, но при этом EF говорит о том, что  есть изменения. Но даже при исполнении команды Add-Migration миграция создается пустой. Следовательно и накатывать нечего. Просьба помочь, может кто знает где, что подкрутить. Так же могу предоставить трассировку 

    [InvalidOperationException: Базовая модель контекста "DataBaseEntityes" изменилась с момента создания базы данных. Рассмотрите возможность обновления базы данных с помощью Code First Migrations (http://go.microsoft.com/fwlink/?LinkId=238269).]
       System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context) +262
       System.Data.Entity.Internal.<>c__DisplayClassf`1.<CreateInitializationAction>b__e() +165
       System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +110
       System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +660
       System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) +31
       System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) +143
       System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +292
       System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +123
       System.Data.Entity.Internal.InternalContext.Initialize() +42
       System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +39
       System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +137
       System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +38
       System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +99
       System.Linq.Queryable.Where(IQueryable`1 source, Expression`1 predicate) +63
       ShopsDataWeb.Controllers.<Index>d__2.MoveNext() in d:\TFS\ShopsData\ShopsDataWeb\Controllers\GoodsController.cs:27
       System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
       System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
       System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21
       System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +61
       System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +114
       System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeAsynchronousActionMethod>b__36(IAsyncResult asyncResult) +66
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +47
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +136
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49
       System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +117
       System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +323
       System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +323
       System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +44
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +47
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +136
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50
       System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +72
       System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +185
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +42
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +133
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56
       System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40
       System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +34
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
       System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44
       System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +39
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +62
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
       System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39
       System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39
       System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +39
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
       System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
       System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9651188
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

    8 марта 2015 г. 17:34

Ответы

  • Эврика! В общем нашел решение проблемы. В общем нужно в методе Application_Start() прописать строку Database.SetInitializer<Название класса EF>(null);
    • Предложено в качестве ответа YatajgaModerator 11 апреля 2015 г. 19:03
    • Помечено в качестве ответа YatajgaModerator 11 апреля 2015 г. 19:03
    11 апреля 2015 г. 18:38