发布上的实体框架迁移错误

时间:2018-11-26 15:44:15

标签: c# entity-framework

在我对软件进行最后一次更改后,发布该软件时,该站点崩溃并显示500错误,试图告诉上下文已更改。还没有。该应用程序在VS2017中运行,并且与之通信的数据库是dev模式,与与服务器实时发布的数据库相同。

我尝试添加 Database.SetInitializer(null); 到我的应用开始,

然后它抱怨我的一门课丢失了。

我可能会缺少什么

这是来自事件查看器和堆栈跟踪的异常消息

异常信息:     异常类型:InvalidOperationException     异常消息:自创建数据库以来,支持“ DMDbContext”上下文的模型已更改。考虑使用代码优先迁移来更新System.Data.Entity.CreateDatabaseIfNotExists 1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() at System.Data.Entity.Internal.RetryAction 1.PerformAction(TInput输入)上的数据库    在System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(操作1 action) at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet 1.Initialize()    在System.Data.Entity.Internal.Linq.InternalSet 1.get_InternalContext() at System.Data.Entity.Infrastructure.DbQuery 1.System.Linq.IQueryable.get_Provider()处    在System.Linq.Queryable.Where [TSource](IQueryable 1 source, Expression 1谓词)处    在Delta_Manager.Controllers.SettingsController.GetSettingByName(String name)在C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ SettingsController.cs:第79行    在Delta_Manager.Controllers.ApplicationContext.MakeOrResetInitialSetting()中的C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ ApplicationContext.cs:第1238行    在Delta_Manager.Controllers.ApplicationContext.Initialize()在C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ ApplicationContext.cs:第177行    在Delta_Manager.WEB.Global.Application_AcquireRequestState(Object sender,EventArgs e)中的C:\ prog \ DeltaManager \ Delta_Manager.WEB \ Global.asax.cs:第44行    在System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    在System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)    在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值并已完成)

Stack trace:    at System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context)

在System.Data.Entity.Internal.InternalContext.PerformInitializationAction(动作操作)    在System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()    在System.Data.Entity.Internal.RetryAction 1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action 1操作中)    在System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(TypeEntityType)    在System.Data.Entity.Internal.Linq.InternalSet 1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet 1.get_InternalContext()    在System.Data.Entity.Infrastructure.DbQuery 1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where[TSource](IQueryable 1源处,Expression`1谓词)    在Delta_Manager.Controllers.SettingsController.GetSettingByName(String name)在C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ SettingsController.cs:第79行    在Delta_Manager.Controllers.ApplicationContext.MakeOrResetInitialSetting()中的C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ ApplicationContext.cs:第1238行    在Delta_Manager.Controllers.ApplicationContext.Initialize()在C:\ prog \ DeltaManager \ Delta_Manager \ Controllers \ ApplicationContext.cs:第177行    在Delta_Manager.WEB.Global.Application_AcquireRequestState(Object sender,EventArgs e)中的C:\ prog \ DeltaManager \ Delta_Manager.WEB \ Global.asax.cs:第44行    在System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    在System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)    在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值并已完成)

0 个答案:

没有答案