模型.NET asp.net MVC4的变化

时间:2013-05-05 01:49:57

标签: c# asp.net-mvc-4

我使用这个步骤创建了一个项目

创建模型; 从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(Action 1 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.InternalSet 1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery 1.System.Collections.Generic.IEnumerable.GetEnumerator()      在System.Collections.Generic.List 1..ctor(IEnumerable 1个集合)      在System.Linq.Enumerable.ToList [TSource](IEnumerable 1 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,IDictionary 2 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_ DisplayClass8 1.<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()

我认为问题是关于使用这个新模型刷新数据库,但我找不到任何解决此问题的命令。

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,我在一些朋友的帮助下得到了这个答案,您必须按照以下步骤更新您的数据库:

打开包管理器控制台:工具 - &gt;库包管理器 - &gt;包管理器控制台

安装实体框架:安装包实体框架

运行:启用迁移

此时我遇到了问题,但Visual Studio向我展示了答案,只是多个上下文的问题

运行:添加迁移

然后:更新数据库

它已经完成,你模型中的每一个变化都需要运行这些命令!