ABP框架入门
技术要求
IDE/编辑器
.NET 6 SDK
数据库准备
安装 ABP CLI
dotnet tool install -g Volo.Abp.Cli
dotnet tool update -g Volo.Abp.Cli
创建新解决方案
官网配置和下载
值得一提的是此页面上的选项,不同的配置会影响到不同的架构、结构和工具。
- Project name是 Visual Studio 解决方案(
.sln
文件)的名称,也是项目的根命名空间。 - 对于Project type,有两个选项,如下所示:
- Module模板用于创建可重用的应用模块。
- Application模板用于构建 Web 应用程序。
- MVC/Razor Page
- Angular
- Blazor WebAssembly
- Blazor Server
您可以选择最适合您的应用要求。我们将在本书的第 4 部分,用户界面和 API 开发中介绍MVC/Razor 页面和Blazor选项。您可以在 ABP 的官方文档中了解有关 Angular UI 的更多信息。在这里,我选择MVC/Razor Page选项作为示例。
- Entity Framework Core
- MongoDB
使用 ABP CLI
new
命令创建新的解决方案。打开命令行终端并在空目录中键入以下命令:abp new ProductManagement
ProductManagement
是解决方案名称。此命令默认使用带有 EF Core 的 SQL Server LocalDB 和 MVC/Razor 页面 UI 创建 Web 应用。如果我想指定选项,我可以重写相同的命令,如下所示:abp new ProductManagement -t app -u mvc -d ef -dbms SqlServer --mobile none
--connection-string
参数,如下例所示:abp new ProductManagement -t app -u mvc -d ef -dbms SqlServer --mobile none --connection-string "Server=(LocalDb)\\MSSQLLocalDB;Database=ProductManagement;Trusted_Connection=True"
ProductManagement
。下一节将展示如何运行此解决方案。运行解决方案
ProductManagement.sln
、创建数据库并运行 Web 应用程序。您将看到如下图所示的解决方案结构:ProductManagement.Web
是 Web 应用程序。ProductManagement.DbMigrator
用于应用数据库迁移和种子数据初始化。
连接字符串
ProductManagement.Web
和ProductManagement.DbMigrator
项目的appsettings.json
文件中定义,包括服务器、数据库名称和凭据。如以下代码片段所示:LocalDb
,一个轻量级、与 SQL Server 兼容的数据库。它安装在 Visual Studio 中。如果要连接到另一个 SQL Server 实例,需要更改连接字符串。创建数据库
Add-Migration
和Update-Database
命令来管理数据库更改。ProductManagement.DbMigrator
是一个控制台应用程序,可简化在开发和生产环境中创建和迁移数据库。它还提供数据初始化,比如创建默认登录使用到的admin
用户和角色。ProductManagement.DbMigrator
项目并选择设置为启动项目命令。然后,使用Ctrl+F5运行项目,无需调试即可运行。ProductManagement.DbMigrator
目录中打开一个命令行终端并执行dotnet run
命令。下次,您就可以像往常一样在 IDE 中运行它。运行 Web 应用程序
ProductManagement.Web
为启动项目,并使用Ctrl+F5运行它(无需调试即可启动)。温馨提示:Ctrl+F5,不调试运行
默认用户名是
admin
,默认密码是1q2w3E*
。可以在登录之后进行更改。探索预构建模块
译者点评:本小结非常之简单,是针对小白用户,对于大部分读者,我感觉都是可以快速过一遍。
账户模块
身份模块
租户管理模块
概括
ABP框架入门的更多相关文章
- 基于ASP.NET MVC的ABP框架入门学习教程
为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加, ...
- ABP框架入门踩坑-配置数据库表前缀
配置数据库表前缀 ABP踩坑记录-目录 本篇其实和ABP关系并不大,主要是EF Core的一些应用-.-. 起因 支持数据库表前缀应该是很多应用中比较常见的功能,而在ABP中并没直接提供这一功能,所以 ...
- ABP框架入门踩坑-添加实体
添加实体 ABP踩坑记录-目录 这里我以问答模块为例,记录一下我在创建实体类过程中碰到的一些坑. 审计属性 具体什么是审计属性我这里就不再介绍了,大家可以参考官方文档. 这里我是通过继承定义好的基类来 ...
- ABP框架入门踩坑-配置User Secrets
配置User Secrets ABP踩坑记录-目录 起因 因为以往习惯在User Secrets中保存连接字符串之类信息,但当我把连接字符串移到secrets.json中后,却发现在迁移过程中会报如下 ...
- ABP框架入门踩坑-使用MySQL
使用MySQL ABP踩坑记录-目录 起因 因为我自用的服务器只是腾讯云1核1G的学生机,不方便装SQL Server,所以转而MySQL. 这里使用的MySQL版本号为 8.0. 解决方案 删除Qi ...
- Asp.NET Core2.0与 EF的ABP框架入门视频教程
https://ke.qq.com/course/287301?from=qqchat&ADUIN=1187219916&ADSESSION=1522716499&ADTAG= ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- ABP CORE 框架入门视频教程《电话薄》基于 Asp.NET Core2.0 EF Core
ABP框架简介 ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行 ...
- C#高级知识点&(ABP框架理论学习高级篇)——白金版
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...
随机推荐
- c#的委托实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- SpringAOP--aop使用
SpringAOP使用方式 切点表达式 常用的符号: *:匹配任何数量字符: ..:匹配任何数量字符的重复,如在类型模式中匹配任何数量子包:而在方法参数模式中匹配任何数量参数. +:匹配指定类型的子类 ...
- Idea集成CSSO插件压缩css文件
首先需要本地已安装node环境,并且csso-cli已通过npm安装到本地目录,只要能找到就行. 1. 打开Settings配置,确认图中的 File Watchers 插件是否已存在,如果不存在,去 ...
- 解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法?
通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用JVM中的栈空间:而通过new关键字和构造器创建的对象则放在堆空间,堆是垃圾收集器管理的主要区域,由于现在的垃圾收集 ...
- spring-boot-learning自动配置原理
启动器: spring-boot-starter:spring-boot场景启动器,帮我们倒入我们场景需要的组件依赖 不同的场景有不同的启动器: spring-boot-starter-web ...
- 一个看一次就永远不会忘的windows环境开发小技巧
前言:本人前端开发,在日常开发中需要打开多个窗口进行开发,如:本地服务窗口,ide工具,设计图,prd文档,浏览器,浏览器调试工具: 如此多的窗口同时打开并且时常需要查看的情况下,遗憾的是,即使我是双 ...
- 微信小程序——gulp处理文件
懒癌直接贴代码,想写在写因为最近搞了一下小程序,直接使用微信的开发者工具搞感觉有点不习惯,并且看了几篇给小程序瘦身的博客,决定给自己的项目做一套配置文件,使用gulp来支持sass scss文件编译以 ...
- 访问控制中默认,public,private,protected区别?
2.继承的访问控制: (比如一个类中的protected成员对于"不同的包中的非子类"是不可见的. 说明:1.任何public的内容可以被从任何地方访问. 2.private的成员 ...
- Blazor组件自做一 : 使用JS隔离封装viewerjs库
Viewer.js库是一个实用的js库,用于图片浏览,放大缩小翻转幻灯片播放等实用操作 本文相关参考链接 JavaScript 模块中的 JavaScript 隔离 Viewer.js工程 Blazo ...
- FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 ...