ABP切换到EF Core SQLite提供程序

ABP切换到EF Core SQLite提供程序

替换Volo.Abp.EntityFrameworkCore.SqlServer包

解决方案中的 .EntityFrameworkCore 项目依赖于 Volo.Abp.EntityFrameworkCore.SqlServer NuGet包. 删除这个包。

设置默认项目:.EntityFrameworkCore

install-package Volo.Abp.EntityFrameworkCore.SQLite 

替换模块依赖项

在 .EntityFrameworkCore 项目中找到 YourProjectName*EntityFrameworkCoreModule 类, 删除 DependsOn attribute 上的typeof(AbpEntityFrameworkCoreSqlServerModule), 添加 typeof(AbpEntityFrameworkCoreSqliteModule) (或者替换 using Volo.Abp.EntityFrameworkCore.SqlServer; 为 using Volo.Abp.EntityFrameworkCore.Sqlite;).

UseSqlite()

查找你的解决方案中 UseSqlServer()调用,替换为 UseSqlite(). 检查下列文件:

  • .EntityFrameworkCore 项目中的YourProjectNameEntityFrameworkCoreModule.cs.
  • .EntityFrameworkCore 项目中的YourProjectNameMigrationsDbContextFactory.cs.

根据你的解决方案的结构,你可能发现更多需要改变代码的文件.

更改连接字符串

SQLite连接字符串与SQL Server连接字符串不同. 所以检查你的解决方案中所有的 appsettings.json 文件,更改其中的连接字符串. 

"ConnectionStrings": {
    "Default": "Data Source=D:\\down\\2020-01\\IFMS_tiered\\db\\abp.db"
  }

通常需要更改 .DbMigrator 和 .Web 项目里面的 appsettings.json ,但它取决于你的解决方案结构.

重新生成迁移

  • 删除 .EntityFrameworkCore.DbMigrations 项目下的Migrations文件夹,并重新生成解决方案.
  • 在包管理控制台中运行 Add-Migration "Initial"(在解决方案资源管理器选择 .DbMigrator (或 .Web) 做为启动项目并且选择 .EntityFrameworkCore.DbMigrations 做为默认项目).

这将创建一个配置所有数据库对象(表)的数据库迁移.

运行 .DbMigrator 项目创建数据库和初始种子数据.

运行应用程序

IdentityServer、Host、Web项目

你可能感兴趣的:(ABP)