【问题标题】:asp.net CORE Migrations generated emptyasp.net CORE Migrations 生成为空
【发布时间】:2018-02-05 12:22:00
【问题描述】:

我正在尝试按照教程添加从 IdentityDbContextIdentityUser 生成的迁移(第二个)。
当我运行 dotnet ef migration add <NAME> 时,它正在添加,但 UPDOWN 是空的。

我发现从 EFMigrationHistory 表中删除数据可以解决问题,但该表不包含有关该迁移的任何信息,仅包含已创建的第一个。我尝试删除所有 .TMP 文件,删除并重新创建迁移。

世界用户:

namespace TheWorld.Models
{
    public class WorldUser : IdentityUser
    {
        public DateTime FirstTrip { get; set; }
    }
}

世界语境:

namespace TheWorld.Models
{
    public class WorldContext : IdentityDbContext<WorldUser>
    {
        private IConfigurationRoot _config;
        public WorldContext(IConfigurationRoot config,DbContextOptions options) : base(options)
        {
            _config = config;
        }
        ....

奇怪的是,它昨天没有用,今天早上我尝试删除所有 .TMP 文件,迁移,并通过 CMD 重新创建它,它生成了一个看起来正确的迁移,但愚蠢的是,我删除它是因为它的名称错误,并且重新创建后它不再起作用。

【问题讨论】:

    标签: c# asp.net entity-framework asp.net-core migration


    【解决方案1】:

    您的迁移文件夹应包含WorldContextModelSnapshot.cs,该文件包含整个数据库的定义。如果模型已在此文件中定义,它将不再出现在新的迁移中。

    如果您想再次生成迁移,请从此文件中删除模型并再次生成迁移。

    【讨论】:

      猜你喜欢
      • 2012-07-20
      • 1970-01-01
      • 2017-12-06
      • 2023-04-03
      • 2017-11-16
      • 2018-10-03
      • 2018-11-26
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多