准备做一个币安合约历史持仓,资产分析,收益曲线的工具,当然不限于这些功能。至于为啥要做这样一个工具,会有专门的文章介绍。
这次我选择使用一个新的管理后台 Admin.NET,以后开发更多工具大多会使用这个管理后台,所以这里简答记录一下如何跑起来。
安装Admin.NET的脚手架
dotnet new --install Furion.Admin.NET.Template.App
这样在新建项目时就有 Admin.NET的模板了
新建项目
使用上面的模板创建名为 AdminNetDemo 的项目,项目结构如下图所示:
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批量组件:
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 不变。
依次执行以下命令,初始化数据库(需要先建好空的数据库)
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 的源代码
使用 VSCode 打开 frontend 文件夹,运行 npm install 或 yarn 命令,安装完成依赖,再运行 npm run serve 或 yarn run serve。
如果没有安装 yarn ,可以先运行下面的命令安装 yarn
npm install -g yarn
运行起来了。
接下来一篇文章,简单开发一个功能,了解一下简单的使用。
大神,请问一下Admin.Net开发新的功能模块您这里有详细说明吗?看到您有一篇起步的文章但是没有介绍新作一个模块的文章,希望学习,谢谢。
没用过模块开发,我都是在现有基础上开发新功能
Unable to resolve service for type ‘Microsoft.EntityFrameworkCore.Storage.TypeMappingSourceDependencies’ while attempting to activate ‘MySql.EntityFrameworkCore.Storage.Internal.MySQLTypeMappingSource’
add-migration的时候就这样,啥意思
你好 我想请教一下 我在admin.net中添加了新的应用和路由 但是我跳转路由时确没有显示成功 请问是什么原因呢