我使用这个步骤创建了一个项目
创建模型; 从Model和scaffolding Views创建Controller;
我试图访问,它工作正常,但我在模型重建中做了一些更改,并尝试再运行一次,现在我收到了这个错误:
{“支持'CodingContext'上下文的模型已经改变了 数据库已创建。考虑使用Code First Migrations进行更新 数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。“}
此错误带来空内异常
这是堆栈:
at System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClass8.<PerformDatabaseInitialization>b__6() at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) at System.Data.Entity.Internal.RetryAction
1.PerformAction(TInput input) 在System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action1 action) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() 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.InternalSet1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery
1.System.Collections.Generic.IEnumerable.GetEnumerator() 在System.Collections.Generic.List1..ctor(IEnumerable
1个集合) 在System.Linq.Enumerable.ToList [TSource](IEnumerable1 source) at Coding.Controllers.CorController.Index() in c:\Users\Guilherme\Documents\Visual Studio 2012\Projects\Coding\Coding\Controllers\CorController.cs:line 19 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2个参数) 在System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext,ActionDescriptor actionDescriptor,IDictionary2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2个参数) 在System.Web.Mvc.Async.AsyncControllerActionInvoker。&lt;&gt; c_ DisplayClass42.b _41() 在System.Web.Mvc.Async.AsyncResultWrapper。&lt;&gt; c_ DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.End() 在System.Web.Mvc.Async.AsyncResultWrapper.End [TResult](IAsyncResult asyncResult,Object tag) 在System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 在System.Web.Mvc.Async.AsyncControllerActionInvoker。&lt;&gt; c _DisplayClass37。&lt;&gt; c_ DisplayClass39.b _33() 在System.Web.Mvc.Async.AsyncControllerActionInvoker。&lt;&gt; c_ DisplayClass4f.b _49()
我认为问题是关于使用这个新模型刷新数据库,但我找不到任何解决此问题的命令。
提前致谢!
答案 0 :(得分:0)
如果有人遇到同样的问题,我在一些朋友的帮助下得到了这个答案,您必须按照以下步骤更新您的数据库:
打开包管理器控制台:工具 - &gt;库包管理器 - &gt;包管理器控制台
安装实体框架:安装包实体框架
运行:启用迁移
此时我遇到了问题,但Visual Studio向我展示了答案,只是多个上下文的问题
运行:添加迁移
然后:更新数据库
它已经完成,你模型中的每一个变化都需要运行这些命令!