つまり、EF Core 2(およびSQLite)を使用してアプリをASP.NET Core2にアップグレードしようとしていますnetcoreapp2.0
。アップグレードガイドに従いました。
また、移行を再作成しましたが、新しい移行は1.1で覚えているものとはかなり異なることに気付きました(データベースに送信されるコマンドの違い、構文の違いなど)。しかし、私のモデルは同じであり、移行を生成した後、すべてが正しくコンパイルされます。
しかし、を使用してプログラムでcontext.Database.Migrate();
、またはを使用してCLIで手動でデータベースを作成しようとするとdotnet ef database update
、次のようになります。
System.NotSupportedException:SQLiteはこの移行操作( 'AddForeignKeyOperation')をサポートしていません。詳細については、http://go.microsoft.com/fwlink/?LinkId = 723262を参照してください。
ただし、AddForeignKeyOperation
ソリューションのどこにもコマンドを使用していません(検索しました)。移行ファイルを検索しましたが、そのコマンドを使用していません。
それは基本的なことだと思いますが、追跡することはできません。どうなり得るか?
問題はすべての移行を削除していなかったことが判明しました。
「最初の」移行があり、次にmigration1、migration2などがありました。最初の移行はテンプレートからのものであるため、Identity / roles / users / etcがありました。それで、私はそれを放っておいて、他のものだけを削除/再作成しました(つまり、私のドメインモデルのもの)。
すべての移行を削除して再作成すると、そのエラーが発生しなくなりました。
そのエラーは紛らわしく、言葉遣いが不十分であり、問題とは何の関係もありません。これが他の誰かに役立つことを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加