2017-08-28 7 views
2

IdentityDbContextIdentityUserから生成された移行(2番目)を追加するチュートリアルに従おうとしています。
dotnet ef migration add <NAME>を実行すると追加されますが、UPDOWNは空です。asp.netコアの移行が空になった

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

私はそれが私が内部を見ようとしなかった唯一のファイルだと思います。私もオンライン上で何かを見つけることができませんでした。とてもありがとう!それは働いているようだ。私はできる限り受け入れるだろう。 – sagi

関連する問題