2017-01-12 17 views
0

私はASP.Net COREとVisual StudioのMVCを使用して学校向けのWebサイトを作成する必要があります。 Entity Framework COREを使用するこのWebサイトに接続されたデータベースもあります。私は非常にいくつかのモデルを足場にしており、DbContextにはそれが付属しています。 実際の問題:プログラムを実行するたびに、プログラムをデータベースにドロップし、Entity Framework COREを使用して新しいデータベースを作成します。EntityFramework CoreのDropCreateDatabaseAlways

この同じ問題に関する多くの記事を見つけましたが、それらによって提供されるソリューションとStackOverflowのユーザーによる他の質問に対する回答は、最新バージョンのEntity Frameworkでは最新ではありません。古いバージョンでは、私の目標を達成するためのすっきりしたソリューションがありました。単純にDropCreateDatabaseAlwaysを使用し、データをすぐにデータベースに追加するためのシードを使用します。 このオプションは、新しいCoreバージョンではサポートされていません(まだサポートされていません)。

長く苦しい時間を探した後、このバージョンのEntity Frameworkで動作するものは見つかりませんでした。

だから私はあなたに頼むことに決めた...! スキャフォールドされたDbContextは次のように始まります。私は、このクラスのコードが実際に必要であるとは思わない。なぜなら、これはalBodyBuilderの呼び出しであり、DbSetsはインスタンス化されているからだ。しかし、もっと必要があるかどうか教えてください。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 

ご協力いただければ幸いです。

申し訳ありません。

答えて

1

はいあなたはDropCreateDatabaseAlwaysは、私はあなたが次のことを行う必要があると思うEFコアではEF 6で言ったように:

context.Database.EnsureDeleted(); 
context.Database.EnsureCreated(); 
context.Database.Migrate(); 

は、ここで詳細を参照してください。 How and where to call Database.EnsureCreated and Database.Migrate?

関連する問題