准备做一个币安合约历史持仓,资产分析,收益曲线的工具,当然不限于这些功能。至于为啥要做这样一个工具,会有专门的文章介绍。

这次我选择使用一个新的管理后台 Admin.NET,以后开发更多工具大多会使用这个管理后台,所以这里简答记录一下如何跑起来。

安装Admin.NET的脚手架

dotnet new --install Furion.Admin.NET.Template.App

这样在新建项目时就有 Admin.NET的模板了

Admin.NET初使用——跑起来-程序旅途

新建项目

使用上面的模板创建名为 AdminNetDemo 的项目,项目结构如下图所示:

Admin.NET初使用——跑起来-程序旅途

AdminNetDemo.Web.Entry为启动项目。

使用 MySQL 为数据库

Admin.NET 默认使用 Sqlite,下面步骤更改为 MySQL,以下操作都是在 AdminNetDemo.EntityFramework.Core 项目中进行的。

a. 安装如下包:

  • Pomelo.EntityFrameworkCore.MySql (支持 MySql 5.x +) 或 MySql.EntityFrameworkCore 支持 (MySql 8.x +)
  • Zack.EFCore.Batch.MySQL.Pomelo

b. DefaultDbContext.cs 指定 DbProvider , [AppDbContext("DefaultConnection", DbProvider.MySql)] 和 MultiTenantDbContext.cs 指定 DbProvider , [AppDbContext("MultiTenantConnection", DbProvider.MySql)]

c. Startup.cs 启用 MySQL的 EF批量组件:

Admin.NET初使用——跑起来-程序旅途

c. dbsettings.json 配置

"DefaultConnection": "Data Source=localhost;Database=AdminNetDemo;User ID=root;Password=123456;pooling=true;port=3306;sslmode=none;CharSet=utf8;",
"MultiTenantConnection": "Data Source=localhost;Database=AdminNetDemo.Saas;User ID=root;Password=123456;pooling=true;port=3306;sslmode=none;CharSet=utf8;"

注:Tenant的数据库可以继续使用SQLite

d. 打开程序包管理控制台,设置默认项目为:AdminNetDemo.Database.Migrations 。 启动项目保持 AdminNetDemo.Web.Entry 不变。

Admin.NET初使用——跑起来-程序旅途

依次执行以下命令,初始化数据库(需要先建好空的数据库)

Add-Migration v1.0.0 -Context DefaultDbContext
Update-Database v1.0.0 -Context DefaultDbContext 
Add-Migration v1.0.0 -Context MultiTenantDbContext
Update-Database v1.0.0 -Context MultiTenantDbContext

启动后台

Ctrl + F5,运行程序,如下图所示:

Admin.NET初使用——跑起来-程序旅途

启动前端

克隆 Admin.NET 的源代码

Admin.NET初使用——跑起来-程序旅途

使用 VSCode 打开 frontend 文件夹,运行 npm install 或 yarn 命令,安装完成依赖,再运行 npm run serve 或 yarn run serve。

如果没有安装 yarn ,可以先运行下面的命令安装 yarn

npm install -g yarn

运行起来了。

Admin.NET初使用——跑起来-程序旅途
Admin.NET初使用——跑起来-程序旅途

接下来一篇文章,简单开发一个功能,了解一下简单的使用。