我最近重命名了我的VS2013项目,并收到以下错误页面。
' /'中的服务器错误应用
为上下文' ApplicationDbContext'启用了迁移。但是 数据库不存在或不包含映射表。使用迁移 创建数据库及其表,例如通过运行 '更新,数据库'来自程序包管理器控制台的命令。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.InvalidOperationException:迁移是 已启用上下文' ApplicationDbContext'但数据库没有 存在或不包含映射表。使用迁移创建 数据库及其表格,例如通过运行“更新 - 数据库”和“数据库”。 来自程序包管理器控制台的命令。
来源错误:
第33行:{ 第34行:if(User.Identity.IsAuthenticated) 第35行:ViewBag.Email = UserManager.FindById(User.Identity.GetUserId())。电子邮件; 第36行:bll.UpdateLogInStats("索引",User.Identity.GetUserName()); 第37行:ViewBag.versionNumber = bll.GetSiteVersionNumber();
源文件:c:\ Users \ Evolution \ Documents \ Visual Studio 2013 \ Projects \ CompleTrance \ CompleTrance \ Controllers \ HomeController.cs Line:35
堆栈追踪:
[InvalidOperationException:为上下文启用了迁移' ApplicationDbContext'但数据库不存在或不包含映射表。使用迁移创建数据库及其表,例如通过运行“更新 - 数据库”和“数据库”。来自程序包管理器控制台的命令。]
System.Data.Entity.Internal.MigrationsChecker.IsMigrationsConfigured(InternalContext internalContext,Func 1 databaseExists) +147
System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context)+193
System.Data.Entity.Internal。&lt;&gt; c_ DisplayClasse 1.<CreateInitializationAction>b__d() +76
System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +60
System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +337
System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) +7
System.Data.Entity.Internal.RetryAction
1.PerformAction(TInput input)+110
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action 1 action) +198
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +73
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +27
System.Data.Entity.Internal.Linq.InternalSet
1.Initialize()+53
System.Data.Entity.Internal.Linq.InternalSet 1.get_InternalContext() +15
System.Data.Entity.Internal.Linq.InternalSet
1.FindAsync(CancellationToken cancellationToken,Object [] keyValues)+18
System.Data.Entity.DbSet 1.FindAsync(CancellationToken cancellationToken, Object[] keyValues) +34
System.Data.Entity.DbSet
1.FindAsync(Object [] keyValues)+13
Microsoft.AspNet.Identity.EntityFramework.EntityStore 1.GetByIdAsync(Object id) +49
Microsoft.AspNet.Identity.EntityFramework.UserStore
1.FindByIdAsync(String userId)+29
Microsoft.AspNet.Identity.d _a.MoveNext()+ 102
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+52
Microsoft.AspNet.Identity.AsyncHelper.RunSync(Func 1 func) +159
Microsoft.AspNet.Identity.UserManagerExtensions.FindById(UserManager
1 manager,String userId)+157
C:\ Users \ Evolution \ Documents \ Visual Studio 2013 \ Projects \ CompleTrance \ CompleTrance \ Controllers \ HomeController.cs中的CompleTranceServer.Controllers.HomeController.Index():35
lambda_method(Closure,ControllerBase,Object [])+62
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object []参数)+14
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary 2 parameters) +157
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2个参数)+27
System.Web.Mvc.Async.AsyncControllerActionInvoker.b_ 36(IAsyncResult asyncResult,ActionInvocation innerInvokeState)+22
System.Web.Mvc.Async.WrappedAsyncResult 2.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)+32
System.Web.Mvc.Async.AsyncInvocationWithFilters.b _3c()+50
System.Web.Mvc.Async。&lt;&gt; c_ DisplayClass45.b _3e()+225
System.Web.Mvc.Async。&lt;&gt; c_ DisplayClass30.b _2f(IAsyncResult asyncResult)+10
System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)+34
System.Web.Mvc.Async。&lt;&gt; c_ DisplayClass28.b _19()+26
System.Web.Mvc.Async。&lt;&gt; c_ DisplayClass1e.b _1b(IAsyncResult asyncResult)+100
System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)+27
System.Web.Mvc.Controller.b_ 1d(IAsyncResult asyncResult,ExecuteCoreState innerState)+13
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+54
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+39
System.Web.Mvc.Controller.b _15(IAsyncResult asyncResult,Controller controller)+12
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+54
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+29
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)+10
System.Web.Mvc.MvcHandler.b__4(IAsyncResult asyncResult,ProcessRequestState innerState)+21
System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End()+54
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+31
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)+9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+9514812
System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+155
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.18408
我认为问题是db映射文件包含旧的项目名称,但我没有看到任何可以编辑映射文件以纠正问题的地方。我宁愿不删除数据库并重新创建它,并建议运行&#34; update-database&#34;不起作用,并给我以下错误。
无法创建文件&#39; C:\ Users \ Evolution \ Documents \ Visual Studio 2013 \项目\ CompleTrance \ CompleTrance \程序App_Data \ ASPNET-CompleTranceServer-20131116015908.mdf&#39; 因为它已经存在更改文件路径或文件名,然后 重试该操作。 CREATE DATABASE失败。列出了一些文件名 无法创建。检查相关错误。
连接字符串:
这是我的连接字符串
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-CompleTranceServer-20131116015908.mdf;Initial Catalog=aspnet-CompleTranceServer-20131116015908;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="AWSiteContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=AWSiteContext-20140105010431; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|AWSiteContext-20140105010431.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
我不记得为什么我将上下文命名为AWSiteContext。我的项目的旧名称是AncientWorld,所以AW是网站名称的首字母。我的IIS会转到defaultConnection,所以我不确定AWSiteContext是否真的做了什么。它不在其他地方的项目中。
非常感谢任何帮助。感谢。