2016-06-28 12 views
1

したがって、この例(https://msdn.microsoft.com/en-us/data/jj193542)に従えば、手動で新しいデータベースを作成するために、EntityクラスとDbContextクラスを手動でタイプすることができました。コードファースト - プログラムでDbContextとエンティティを生成する方法は?

これはまあまあですが、私はプログラムでDbContextとEntities(メタデータを提供するアセンブリから)を手動で作成する必要があります。コンパイル時または実行時にSQLでデータベースを作成する必要があります。レコードがプログラムで追加されたときではありません(上記リンクの例を参照)。

これはコードファースト法で可能ですか?

+0

したがって、t4テンプレートを使用してアセンブリを組み込み、DbContextクラスとEntityクラスを生成することができました。問題は、プログラムでDbContextをプログラムで開き、新しい空のエンティティを作成して追加し、データベースとテーブルをSQLで作成するためにdb.SaveChanges()を呼び出す必要があることです。データベースを作成する別の方法があるはずです!!誰でも? – jjf1978

+1

Database.Initializeはデータベースを作成します。 https://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize(v=vs.113).aspx –

+0

これがありました、ありがとうございます。 – jjf1978

答えて

0

これで解決しました。 DbContextとEntitiesを生成するために、T4テンプレート(T4テンプレートの詳細についてはhttps://msdn.microsoft.com/en-us/data/gg558520.aspxを参照)を使用して、Database.Initialize(false)を呼び出して、アプリケーション(この場合はコンソールアプリケーション)が実行されるときにデータベースを強制的に作成します。

 using (var db = new MyContext()) 
     { 
      db.Database.Initialize(false); 
     } 
関連する問題