0

私はEF Code Firstが初めてです。

のサブクラスを作成し、DbContextいくつか追加しましたDbSets

コンテキストで次のサブクラスを作成DropCreateDatabaseAlways<MyContext>して実装しました。これが私のコンテキストの外観です。

public class Context : DbContext
{
  public Context() : base("Database") {  }

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
    Database.DefaultConnectionFactory.CreateConnection("System.Data.SqlServerCe.4.0");
    Database.SetInitializer(new DatabaseInitializer());
  }

  public DbSet<NameEntity> Names { get; set; }
  public DbSet<Case> Cases { get; set; }
}

以下を実行してアプリ ファイルを確認した後、生成されたデータベースが表示されません。

public App() //App ctor
{
  using (Models.Context context = new Models.Context())
  {

  }
}

私は何が欠けていますか?

4

1 に答える 1

3

どういうわけかEFにデータベースを作成させる必要があります。それは次の方法で行うことができます。

  • コンテキストの使用(何かを保存するか何かを読み取る)-Seedこの場合、データベースが初期化された後に実行されるため、操作はカウントされませんSeedが、初期化をトリガーするために何かが必要です
  • 手動で初期化を強制する

例:

context.Database.Initialize(false);
于 2012-01-18T09:57:02.060 に答える