2017-01-01 5 views
0

c#entity framework 7 with sqliteを使用すると、テーブルが存在するかどうかを確認する方法はありますか?おそらくコンテキストにあるdbsetに基づいているでしょうか?移行などの既存のデータベースはありません。このアプリはデータベースが作成されていないときだけ作成し、テーブルを作成したいと思っています。EF7 sqlite create tableが存在しない場合

public class Context : DbContext 
{ 
    public DbSet<Value> Values { get; set; } 


    protected override async void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
    { 
     optionsBuilder.UseSqlite("Filename=data.db"); 

     //here somewhere? 
    } 
} 
+0

あなたが移行を使用しない場合は、このEFの質問ではありません。あなたはテーブルの存在をチェックするために生のSQL文を書く必要があります(これはSqliteでは簡単ではありません!)。もちろん、EFコンテキストを使用することはできますが、単にSQLを実行する手段として使用できます。 –

+0

私は実行するコンテキストにSQL文字列を供給することができる方法はありますか? – shady

答えて

1

あなたはマイグレーションを使用していない場合は、アプリの起動手順でこれを使用することができます。

context.Database.EnsureCreated(); 

または移行とを:

context.Database.Migrate(); 
関連する問題