ABP 05 创建Model 以及 相应的增删改查
在core层 添加一个model,如图

2、在 EntityFrameworkCore 层的 DbContext 中添加 Menu

3、编译一下 准备把新增的Model迁移到数据库
打开 程序包管理器控制台,默认项目选择 ***.EntityFrameworkCore
执行语句:
(1)Add-Migration add_Menu
(2)Update-Database -Verbose

4、在 Application 层,添加 Menu 的相关类,结构如下:

(1)、
IMenuAppService 继承自 IAsyncCrudAppService
IAsyncCrudAppService的定义:

TEntityDto 和 TUpdateInput 均继承自 IEntityDto<TPrimaryKey>,其实就是这两个model均包含了主键,其它的没啥特别的
其中一个接口是这样定义的,如下:

大致就是 但凡实现了IAsyncCrudAppService这个接口的,都具有这些方法,常见的增删改查都有了。
(2)、
MenuAppService 继承自 AsyncCrudAppService
AsyncCrudAppService 实现了 IAsyncCrudAppService 的相应方法
继承 AsyncCrudAppService,除了给相应的参数外,还需要调用父类的构造函数,父类的构造函数如下:

子类的调用方式:
因为分类只有一个构造函数,并且还有参,所以只能这么调用了。

对应调用父类构造函数这个事儿,自己可以简单测试一下,具体可以看文章:
1、https://blog.csdn.net/Hellen0708/article/details/85268050
2、https://zhidao.baidu.com/question/135452328.html
简单测试:

4个Dto类:

5、前端调用实现
创建控制器,控制器 继承自 MyABPControllerBase
MyABPControllerBase:定义在 MyABP.Web.Core 这个层,继承 AbpController
AbpController:继承 Controller,定义了一些常用的属性 和 自动完成依赖的管理
如果不继承 AbpController,而是直接继承 Controller 的话,会报错。
报错内容:No component for supporting the service MyABP.Web.Mvc.Controllers.MenusController was found

为什么只有继承 AbpController 才可以被访问,下次看了源码再补充了。
ABP 05 创建Model 以及 相应的增删改查的更多相关文章
- Django——6 模型基础ORM 数据库连接配置 模型的创建与映射 数据的增删改查
Django Django的ORM简介 数据库连接配置 模型的创建与映射 数据库的增删改查 增数据 查数据及补充 改数据 删数据 Django的ORM系统分析 ORM概念:对象关系映射(Objec ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...
- magento中Model创建以及该Model对于数据库的增删改查
本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...
- ABP入门教程10 - 展示层实现增删改查-控制器
点这里进入ABP入门教程目录 创建控制器 在展示层(即JD.CRS.Web.Mvc)的Controllers下新建一个控制器CourseController.cs using Abp.Applicat ...
- ABP入门教程11 - 展示层实现增删改查-视图
点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的Views下新建文件夹Course //用以存放Course相关视图 创建视图 在JD.CRS.Web.Mvc/Vi ...
- ABP实践(4)-abp前端vue框架之简单商品增删改查(帮助刚入门的新手快速了解怎么才能加入自己的功能并运行起来)
提示:如有不明白的地方请先查看前3篇ABP实践系列的文章 1,下载及启动abp项目前后端分离(netcore+vue) 2,修改abp数据库为mysql 3,商品系列api接口(本文主要依赖在这个商品 ...
- ABP框架服务层的接口与实现(增删改查)
public interface ITaskAppService : IApplicationService { IList<TaskDto> GetAllTasks();//所有 Get ...
- Django创建并连接数据库(实现增删改查)--第二版
注意点一: url里面的地址,不只是html页面,准确说是views视图里面对应的函数方法 <!DOCTYPE html> <html lang="en"> ...
- Django创建并连接数据库(实现增删改查)--ORM框架雏形
第一步:要先创建数据库(orm是不能创建数据库的) 第二步:settings里面指定连接到哪个数据库 DATABASES = { #默认使用的是sqlite3数据库 'default': { 'ENG ...
随机推荐
- Django TypeError: render() got an unexpected keyword argument 'renderer'
场景: Xadmin添加plugin 来源: 1. xadmin与DjangoUeditor的安装 (第3.3章节) 2. 增加富文本编辑器Ueditor (第14.7章节) 报错: Django T ...
- MVC伪静态路由简单搭配
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute ...
- Mycat分布式数据库架构解决方案--搭建MySQL读写分离环境--一主多从
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 本文主 ...
- Spring的配置文件找不到元素 'beans' 的声明
Spring的配置文件找不到元素 'beans' 的声明 一般是由Spring的版本导致的,你可以尝试使用如下的某一种. <?xml version="1.0" encodi ...
- Servlet 入门
静态web页面:html+css+js,页面是静态的.不变的,显示给每个用户的页面都一样. 动态web页面:php.jsp.asp,根据用户.实时数据(数据库)来动态显示页面,不同的用户,显示的页面可 ...
- Excel 批量导入Mysql(创建表-追加数据)
之前弄数据库的时候, 测试excel导mysql, 中间用pandas 处理后再入库. 直接上代码, 此种有真意, 尽在不言中. #!/usr/bin/env python # coding: ut ...
- MySQL Execution Plan--将范围扫描转换为等值查询
将大于或小于的范围查询装换为等值查询 在生产环境,经常会遇到需要对Worker表进行多次尝试的业务,超过一定重试次数后抛弃或使用其他方式处理,在查找满足重试条件数据时,通常会使用“小于”运算符并伴随排 ...
- springboot读取静态资源文件的方式
springboot的请求路径一般会经过Controller处理,但是静态资源文件在请求之后是直接返回的.这涉及到俩个配置项. spring.mvc.static-path-pattern=/** s ...
- TI DSP数据长度
环境CCS7.2 平台C6748 结果: sizeof short int is 2sizeof int is 4sizeof long is 4sizeof unsigned long is 4si ...
- Linux-crontab定时执行脚本配置
crontab是一个可以根据自己配置的命令定时执行脚本的服务 安装crontab(centos) yum install Vixie-cron yum install crontabs vixie-c ...