0

私は、アプリケーションのMicrosoft SQL Serverデータベースを変更するために、Entity Framework 7と移行を使用するASP.NET 5アプリケーションで作業しています。Entity Framework 7コマンドの説明 - 移行の追加とデータベースの更新はどちらですか?

移行手順を実行するときにいくつかの問題が発生しており、Entity Frameworkコマンドmigrations adddatabase updateの内容を明確にしたいと思います。

それは

> dnx ef migrations add Initial

は名前移行は、アプリケーションのモデルクラスに基づいてテーブルを作成するコードを含む名前のフォルダに初期で終わるC#ファイルを作成するというのが私の理解だ、と

> dnx ef database update

は、それらの変更をデータベースに追加してください。しかし、migrations addコマンドの後にデータベースがすでに作成されていて、database updateコマンドを実行してテーブルがすでに存在するとエラーが発生します。

migrations addは実際にデータベースに影響を与えるべきではなく、database updateを実行すると変更が行われるようですが、そのようには見えません。

誰かがこれらのステップが何をしているのか、どのように一緒にフィットするのか説明できますか?前もって感謝します!

+0

ef migration add Initialマイグレーションファイルだけをデータベースに作成しないでください。私はあなたが前にデータベースを作成し、その上で更新を実行したと思われます。その後、移行ファイルを削除し、データベースを削除せずに再作成します。 – Tseng

+0

既存のデータベースにモデルを作成したときに、私は手動で__efhistoryテーブルに移行の名前を追加しました。 EF7はまずコードに焦点を当てていますが、現実には多くの開発プロセスがデータベースであることです。 – Tamayi

答えて

1

dnx ef migrations addデータベースを作成しないでください。私はDbContext.Database.EnsureCreated()があなたのアプリケーションコードのどこかで呼び出されていると思われます。

+0

私はこの行を私の 'DbContext'クラスに持っていました。私はそれを削除し、命令は彼らのように動作します。ありがとう! – jmk22

関連する問題