Я использую SQLite
с EntityFramework
.
Когда я пытаюсь выполнить команду enable-migrations
, я получаю эту ошибку.
Не найден MigrationSqlGenerator для провайдера 'System.Data.SQLite'. Используйте> SetSqlGenerator метод в классе конфигурации целевых миграций, чтобы> зарегистрировать дополнительные генераторы SQL
Вот мой DBContext и моя DBConfiguration
public class SQLiteConfiguration : DbConfiguration
{
public SQLiteConfiguration()
{
SetProviderFactory("System.Data.SQLite", SQLiteFactory.Instance);
SetProviderFactory("System.Data.SQLite.EF6",
SQLiteProviderFactory.Instance);
SetProviderServices("System.Data.SQLite", (DbProviderServices)SQLiteProviderFactory.Instance.GetService(typeof(DbProviderServices)));
}
}
public class ApplicationContextDB : DbContext
{
static private string dbpath;
static ApplicationContextDB()
{
var exeDir = AppDomain.CurrentDomain.BaseDirectory;
var exeDirInfo = new DirectoryInfo(exeDir);
var projectDir = exeDirInfo.Parent.Parent.FullName;
dbpath= $@"{projectDir}\DBFolder\MyDB.db";
}
public ApplicationContextDB() : base(new SQLiteConnection($"DATA Source={dbpath}"), false)
{
}
public ApplicationContextDB(DbConnection connection) : base(connection, true)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
public DbSet<User> Users{ get; set; }
public DbSet<Work> Works{ get; set; }
}