【C#
来源:互联网 发布:淘宝店铺怎么免费推广 编辑:程序博客网 时间:2024/05/29 09:17
“/”应用程序中的服务器错误。支持“QlogEntities”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 支持“QlogEntities”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。源错误: 行 19: public ActionResult Index()行 20: {行 21: return View(db.Qlogs.ToList());行 22: }行 23: 源文件: e:\CSharp\EF\MvcQlog\MvcQlog\Controllers\HomeController.cs 行: 21 堆栈跟踪: [InvalidOperationException: 支持“QlogEntities”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。] System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context) +344 System.Data.Entity.Internal.<>c__DisplayClass8.<PerformDatabaseInitialization>b__6() +67 System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +110 System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +273 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) +270 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.GetEnumerator() +38 System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator() +99 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +263 System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 MvcQlog.Controllers.HomeController.Index() in e:\CSharp\EF\MvcQlog\MvcQlog\Controllers\HomeController.cs:21 lambda_method(Closure , ControllerBase , Object[] ) +101 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +19 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +209 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27 System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28 System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +15 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +57 System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +223 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +15 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +102 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +44 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +15 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +54 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +12 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +58 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +44 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +11 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9765045 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.6.1637.0
原因及解决方案:因为之前运行程序时已经创建了数据库了,而现在我们在对模型进行更改后,它无法完全将更改之后的模型映射到之前的数据库,所以会出错。从错误提示中已经给出了解决办法。要么手动删除之前创建好的数据库,要么使用DropCreateDatabaseIfModelChanges 的一个实例来对数据库进行初始化。需要注意的一点是,在商业开发中,第二种方法要小心使用,因为它会把之前的数据库自动删掉重新创建,而如果你之前保存有大量信息在里面的话将无法挽回。
这里我们不想每次在修改模型之后都手动去删除,所以用第二种方法将十分简便,只需到Global.asax文件的Application_Start()方法里面添加如下一行即可。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;using System.Web.Mvc;using System.Web.Routing;using System.Data.Entity;using MvcQlog.Models;namespace MvcQlog{ // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明, // 请访问 http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { //清空上下文模型 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<QlogEntities>()); AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); } }}
这样,模型改变之后,它会删除掉原来的数据库重新创建。
阅读全文
0 0
- C#
- C#
- C#
- C#
- C#
- C#
- C#
- C#
- C#
- C#
- C#
- c#
- c#
- C#
- C#
- C#
- c#
- C#
- 刷清橙OJ--A1033.绘制图形
- SAPCAR的简易使用方法
- ESP8266开发
- 剑指Offer-11
- Oracle ADF 报错报错:BEA-160187
- 【C#
- 项目报Description ResourcePathLocation Type Cannot change version of project facet Dynamic Web Module
- Python模块之ConfigParser
- 最近小程序频繁搞事情,看他们都更新了哪些牛逼的功能
- C#操作符??和?:
- 关于ie浏览器和w3c浏览器在事件方面的兼容性问题
- ReactNative 天气应用开发
- phpstorm在linux下的安装
- SAPCAR 压缩解压软件的使用方法