首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从基于SQL Server的code-first EF迁移到SQLite EF

从基于SQL Server的code-first EF迁移到SQLite EF
EN

Stack Overflow用户
提问于 2019-06-14 23:27:04
回答 1查看 114关注 0票数 0

我已经开发了一个基于EF6代码优先技术的项目,它使用SQL Server作为数据库引擎。

现在,我想要更改数据库并迁移到SQLite,但我想以最小的工作量完成这项工作。

现在我的问题是如何强制EF使用SQLite而不是SQL Server?

因为我是EF的新手,如果你能以非常清晰的步骤来解释这一点,我将不胜感激。

附加信息:这是我的主类代码:

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
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

    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-14 23:32:43

SQLite EF6提供程序不支持代码优先迁移,因此您无法执行此操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56601200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档