2017-08-28 114 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