Миграция с основанного на SQL Server кода EF на SQLite EF - PullRequest
0 голосов
/ 14 июня 2019

Я разработал проект, основанный на технологии кода EF6, и в нем использовался SQL Server в качестве движка базы данных.

Теперь я хочу изменить базу данных и перейти на SQLite, но я хочу сделать это с минимальными усилиями.

Теперь мой вопрос: как заставить EF использовать SQLite вместо SQL Server?

потому что я новичок в EF, я буду признателен, если вы объясните это очень четко.

Дополнительная информация: это мой основной код класса:

class PManagerContext :DbContext
{
    public PManagerContext(bool IsRemote, DbConnection dbconn, bool contextOwnsConnection)
        : base(dbconn, contextOwnsConnection)
    {         
        if (!IsRemote)
        {            
             Database.SetInitializer(new PManagerDBInitializerLocal());           
        }
        else
        {
            Database.SetInitializer(new PManagerDBInitializerRemote());      
        }

    }
    public DbSet<User> Users { get; set; }
    public DbSet<InternalP> InternalPs { get; set; }
    public DbSet<LogInOut> LogInOuts { get; set; }
    public DbSet<Contact> Contacts { get; set; }
    public DbSet<PLog> PLogs { get; set; }
}

над классом используйте DBInitializer, как показано ниже:

class PManagerDBInitializer : DropCreateDatabaseIfModelChanges<PManagerContext>
{        
    protected override void Seed(PManagerContext context)
    {
      //seedding      
    }
}
class PManagerDBInitializerLocal : IDatabaseInitializer<PManagerContext>
{
    public void InitializeDatabase(PManagerContext context)
    {
    //initializing

    } 
}
class PManagerDBInitializerRemote : IDatabaseInitializer<PManagerContext>
{
    public void InitializeDatabase(PManagerContext context)
    {
        //initializing

    }
}

1 Ответ

0 голосов
/ 14 июня 2019

Code First Migrations не поддерживаются поставщиком SQLite EF6, поэтому вы не можете сделать это.

...