2017-08-28 37 views
2

我试图按照教程添加从IdentityDbContextIdentityUser生成的迁移(第二个)。
当我运行dotnet ef migration add <NAME>它被添加,但UPDOWN是空的。asp.net CORE Migrations生成为空

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

WorldUser:

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

WorldContext:

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

奇怪的是,它没有昨天的工作,今天上午我试图删除所有.tmp文件,在迁移,和通过CMD重新创建它,并且它生成了一个看起来正确的迁移,但是很愚蠢,我删除了它,因为它的名称不正确,并且因为重新创建了它而不再工作。

回答

2

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

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

+0

呃......我认为这是我没有试过去看的唯一文件。我在ONLINE上也找不到任何东西,所以非常感谢!它似乎在工作。我会尽我所能接受。 – sagi