相关疑难解决方法(0)

自创建数据库以来,支持'ApplicationDbContext'上下文的模型已更改

首先,我没有在其他地方看到过这个错误,我猜它不是复制品,所以请先阅读整个情况.

一切都工作得很好,然后我尝试更新我的一个模型类(App类和更新现在留下评论),我将在下面列出并繁荣我有这个丑陋的错误.


自创建数据库以来,支持'ApplicationDbContext'上下文的模型已更改.请考虑使用"代码优先迁移"来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269).在System.Data.Entity.CreateDatabaseIfNotExists 1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf1.b__e()处于System.Data.Entity.InternalContext.PerformInitialization()的System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)中的System.Data.Entity.位于System.Data.Entity.Internal的文档1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action中的System.Data.Entity.Entity.Internal.OitityDatabase()的System.Data.EntityContext.b__4(InternalContext c)中的Internal.LazyInternalContext.b__4(InternalContext c).InternalContext.GetEntitySetAndBaseTypeForType(Type) System.Data.Entity.Internal.Linq.InternalSet中的1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet1.Include(String path)1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryableSystem.Data.Entity.QueryableExtensions.Include [T,System.Data.Entity.Infrastructure.DbQuery 1 source,String path)inInclude(String path)1 source, Expression在Microsoft.AspNet.Identity.UntityFramework.UserStore 6.GetUserAggregateAsync(Expression上的Microsoft.AspNet.Identity.EntityFramework.UserStore 6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager2.FindByNameAsync(String userName)的Microsoft.AspNet.Identity.UserManager`2.d__12上的TProperty](IQueryable 1路径). MoveNext()---来自先前locati的堆栈跟踪结束 在抛出异常的位置---在ControlPanel.Web.Controllers.AccountController.d__2.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)上在d:\ Projects\FULL\Control Panel\ControlPanel.Web\Controllers\AccountController.cs:第56行

起初我认为这可能是一个迁移问题,因此我完全删除了数据库,重新启用了迁移,并添加了Init迁移并使用了更新数据库

update-database -force -verbose
Run Code Online (Sandbox Code Playgroud)

每件事都没有投诉,但每当我尝试登录我的网站时,我都会收到上一个错误.我做了大约十次移植的事情而没能解决问题.

这是我的域类(模型):

public class App
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public virtual int AppId { get; set; }
    //[Required]
    public virtual string …
Run Code Online (Sandbox Code Playgroud)

.net linq asp.net-mvc entity-framework asp.net-mvc-5

84
推荐指数
7
解决办法
11万
查看次数

实体框架代码仅错误:自创建数据库以来,支持上下文的模型已更改

我创建了一个"仅代码"POCO,用于使用Entity Framework 4和CTP4对现有数据库进行使用.当我运行查询时,我收到错误

自创建数据库以来,支持'xyzContext'上下文的模型已更改.手动删除/更新数据库,或使用IDatabaseInitializer实例调用Database.SetInitializer.例如,RecreateDatabaseIfModelChanges策略将自动删除并重新创建数据库,并可选择使用新数据对其进行种子设定.

我不清楚为什么会发生这种情况或者我可以改变什么.我只创建了POCO,定义了一个简单的DbContext,做了一些调整,然后尝试运行一个简单的查询.由于我使用的是"仅代码",因此我不知道需要进行任何配置设置.我当然不想重新创建或删除数据库,因为它是一个现有的数据库.

谢谢你的任何想法.

.net c# entity-framework entity-framework-4

50
推荐指数
4
解决办法
4万
查看次数

自创建数据库以来,支持'--Context'上下文的模型已更改 - 但db是新的生产数据库

我在第762次遇到这个错误,但是这次我在尝试访问我的生产网站后立即获取它,直接删除Azure上的"生产"数据库然后发布我的网站.

The model backing the 'PropertyContext' context has changed since the database was created. Consider using Code First Migrations to update the database
Run Code Online (Sandbox Code Playgroud)

我删除了数据库,因为我无法以任何其他方式修复此问题,但它仍然无法正常工作.

一些要点:

  • 我正在使用EF6并发布到Azure.
  • 这是使用相同Repo项目的2个项目/站点中的1个.我
    对另一个没问题,就是这个问题.
  • 我已经尝试首先发布问题项目(在删除数据库之后),然后使用相同的结果发布.
  • 我尝试从Azure中删除WEBSITES和DB,然后重新开始
  • 我尝试删除所有迁移并从新数据模型开始
  • 我在我的Global.asax中尝试了以下内容(在两个项目中)

    Database.SetInitializer PropertyContext>(null); < - SO不会让我把第一个<

Database.SetInitializer(new MigrateDatabaseToLatestVersion<PropertyContext, MyConfiguration>());
new PropertyContext().Database.Initialize(true);
Run Code Online (Sandbox Code Playgroud)

我正在使用.net 4.5

为什么我在新数据库上收到此错误,如何才能使此站点正常工作?

c# entity-framework azure

24
推荐指数
3
解决办法
5万
查看次数

如何跳过 ef core 中的一些迁移?

我的 ef 上下文发生了一些变化,并添加了新的 Migraions

dotnet ef migrations add changed98112601
Run Code Online (Sandbox Code Playgroud)

然后我运行以下命令

dotnet ef database update
Run Code Online (Sandbox Code Playgroud)

我有以下输出。看来要应用初始迁移。Poems 表位于数据库中,因为它是通过应用初始迁移创建的。我应该如何预防这种情况?当我想要更新时,应该如何跳过初始迁移?

Build started...
Build succeeded.
Applying migration '20191225133128_Initial'.
Failed executing DbCommand (159ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE TABLE [Poems] (
    [Id] int NOT NULL IDENTITY,
    [Number] int NOT NULL,
    [Meaning] nvarchar(max) NULL,
    CONSTRAINT [PK_Poems] PRIMARY KEY ([Id])
);
Microsoft.Data.SqlClient.SqlException (0x80131904): There is already an object named 'Poems' in the database.
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in E:\agent1\_work\34\s\src\Microsoft.Data.SqlClient\netcore\src\Microsoft\Data\SqlClient\SqlConnection.cs:line 1591
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core asp.net-core entity-framework-migrations

5
推荐指数
1
解决办法
5583
查看次数