Я разработал проект, основанный на технологии кода 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
}
}