ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Abp vNext 实战 - 2修改DBMS运行项目

2020-07-21 16:00:19  阅读:421  来源: 互联网

标签:vNext Blog DBMS 项目 DG 数据库 Abp EntityFrameworkCore


Abp vNext 项目运行起来

为了方便使用Sqlite数据库

修改项目为 Sqlite 数据库(改成Mysql PostgreSQL 等都是一样的操作)

1

打开DG.Blog.EntityFrameworkCore项目文件

添加

<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="3.0.4" />    

或者 nuget 添加

Install-Package Volo.Abp.EntityFrameworkCore.Sqlite -Version 3.0.4  

2

打开DG.Blog.EntityFrameworkCore 项目

打开BlogEntityFrameworkCoreModule.cs 文件

删除 DependsOn attribute 上的typeof(AbpEntityFrameworkCoreSqlServerModule),
添加 typeof(AbpEntityFrameworkCoreSqliteModule) (
替换 using Volo.Abp.EntityFrameworkCore.SqlServer; 为 using Volo.Abp.EntityFrameworkCore.Sqlite;

[DependsOn(
        ...
        //typeof(AbpEntityFrameworkCoreSqlServerModule), //注释掉这里换成下面一行
        typeof(AbpEntityFrameworkCoreSqliteModule),
        ...
        ]

打开DG.Blog.EntityFrameworkCore.DbMigrations 项目

打开 BlogMigrationsDbContextFactory.cs 文件
修改这里为

public BlogMigrationsDbContext CreateDbContext(string[] args)
{
    BlogEfCoreEntityExtensionMappings.Configure();

    var configuration = BuildConfiguration();

    var builder = new DbContextOptionsBuilder<BlogMigrationsDbContext>()
        //.UseSqlServer(configuration.GetConnectionString("Default"));//注释掉这里换成下面一行
        .UseSqlite(configuration.GetConnectionString("Default"));

    return new BlogMigrationsDbContext(builder.Options);
}

打开DG.Blog.Web 和 DG.Blog.DbMigrator 项目

appsettings.json 修改连接字符串

"ConnectionStrings": {
    "Default": "Data Source=dgblog.db;"
  }

初始化数据库

1 生成迁移文件

打开DG.Blog.EntityFrameworkCore.DbMigrations 项目

删除掉 Migrations 文件夹

打开 程序包管理器控制台 选择默认项目为 DG.Blog.EntityFrameworkCore.DbMigrations
执行命令 Add-Migration "Initial"

PM> Add-Migration "Initial"
Build started...
Build succeeded.
To undo this action, use Remove-Migration.

生成了新的 Migrations 文件夹

2 迁移数据库

运行 DG.Blog.DbMigrator 项目创建数据库和初始种子数据.
也可以 执行命令 update-database
注意要 先设置 DG.Blog.Web 为启动项

PM> update-database
Build started...
Build succeeded.
Applying migration '20200721005959_Initial'.
Done.

生成了数据库 在 DG.Blog.DbMigrator 项目根目录下 dgblog.db

运行项目

启动

设置 DG.Blog.Web 作为启动项

运行

输入用户名 admin,密码 1q2w3E* 登录到应用程序.

这里如果你用的是命令行迁移数据库 update-database 登录失败会失败,因为没有些人原子数据,就是初始化数据,所以需要 运行 DG.Blog.DbMigrator 项目。这里又有个注意的地方是数据库生成的位置 改成:

打开DG.Blog.DbMigrator 项目
appsettings.json 修改连接字符串

"ConnectionStrings": {
    "Default": "Data Source=..\\DG.Blog.Web\\dgblog.db;"
  }

或者生成好了拷贝到 DG.Blog.Web 去都可以。

数据库:

运行后效果如下图:

查看API文档

浏览器访问 https://localhost:44318/swagger 可以访问Api 文档


好了,已经运行起来了!默认是支持多租户的。
生成了很多表和很多功能,其实我们自己开发项目时是不是用不了这么多,或者现在有些功能还用不上?所以,我们可以精简他,也可以从一个空项目开始使用Abp 开始自己的项目,这个会在以后的文章中来讲!

标签:vNext,Blog,DBMS,项目,DG,数据库,Abp,EntityFrameworkCore
来源: https://www.cnblogs.com/huangyoum/p/13355575.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有