2017-01-01 5 views
0

с использованием C# entity framework 7 с 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(); 
Смежные вопросы