在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 以及 相应的增删改查的更多相关文章

  1. Django——6 模型基础ORM 数据库连接配置 模型的创建与映射 数据的增删改查

    Django Django的ORM简介 数据库连接配置 模型的创建与映射 数据库的增删改查 增数据 查数据及补充 改数据 删数据   Django的ORM系统分析 ORM概念:对象关系映射(Objec ...

  2. JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能

    JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...

  3. magento中Model创建以及该Model对于数据库的增删改查

    本文是按照magento英文文档照做与翻译的. Model层的实现是mvc框架的一个巨大的部分.它代表了你的应用的数据,或者说大多数应用没有数据是无用的.Magento的Model扮演着一个重要的角色 ...

  4. ABP入门教程10 - 展示层实现增删改查-控制器

    点这里进入ABP入门教程目录 创建控制器 在展示层(即JD.CRS.Web.Mvc)的Controllers下新建一个控制器CourseController.cs using Abp.Applicat ...

  5. ABP入门教程11 - 展示层实现增删改查-视图

    点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的Views下新建文件夹Course //用以存放Course相关视图 创建视图 在JD.CRS.Web.Mvc/Vi ...

  6. ABP实践(4)-abp前端vue框架之简单商品增删改查(帮助刚入门的新手快速了解怎么才能加入自己的功能并运行起来)

    提示:如有不明白的地方请先查看前3篇ABP实践系列的文章 1,下载及启动abp项目前后端分离(netcore+vue) 2,修改abp数据库为mysql 3,商品系列api接口(本文主要依赖在这个商品 ...

  7. ABP框架服务层的接口与实现(增删改查)

    public interface ITaskAppService : IApplicationService { IList<TaskDto> GetAllTasks();//所有 Get ...

  8. Django创建并连接数据库(实现增删改查)--第二版

    注意点一: url里面的地址,不只是html页面,准确说是views视图里面对应的函数方法 <!DOCTYPE html> <html lang="en"> ...

  9. Django创建并连接数据库(实现增删改查)--ORM框架雏形

    第一步:要先创建数据库(orm是不能创建数据库的) 第二步:settings里面指定连接到哪个数据库 DATABASES = { #默认使用的是sqlite3数据库 'default': { 'ENG ...

随机推荐

  1. 如何通过 IntelliJ IDEA 来提升 Java8 Stream 的编码效率

    本文翻译整理自:https://winterbe.com/posts/2015/03/05/fixing-java-8-stream-gotchas-with-intellij-idea 作者:@Wi ...

  2. (10)ASP.NET Core 中的环境(Environments:dev, stage, prod)

    1.环境变量配置 ASP.NET Core在应用程序启动时读取环境变量(Properties\launchSettings.json)ASPNETCORE_ENVIRONMENT,并将该值存储在IHo ...

  3. SUSE12SP3-Samba配置

    简介 samba官网:https://www.samba.org/ 维基百科: https://zh.wikipedia.org/wiki/Samba Samba,是种用来让UNIX系列的操作系统与微 ...

  4. dapper.common新增概念object to sql

    Dapper.Common About author Email:@qq.com QQ: QQGroup: Config DbContextFactory.AddDataSource(new Data ...

  5. 计数计量单位KMGTPEZY【计算机】【天文】

    · Bit = Binary Digit · Bits = · s = Kilo · Kilo s = Mega · Mega s = Giga · Giga s = Tera · Tera s = ...

  6. MySQL之Python与Mysql交互

    一:Python操作MySQL步骤 1:Python中操作MySQL的步骤 2.引入模块 在.py文件中引入pymysql模块 import pymysql pymysql是python的一个第三方与 ...

  7. BUAA-OO-2019 第一单元总结

    第一次作业 第一次作业需要完成的任务为简单多项式导函数的求解. 思路 因为仅仅是简单多项式的求导,所以求导本身没有什么可说的,直接套用幂函数的求导公式就行了,主要的精力是花在了正则表达式上.这里推荐两 ...

  8. [JS设计模式]:观察者模式(即发布-订阅者模式)(4)

    简介 观察者模式又叫发布---订阅模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. 举一个现实生活中的例子,例如小 ...

  9. 5.Lvs+Keepalived健康检查

    1. Nginx+keepalived对后端服务器心跳检查(需要自定义脚本) 原理:Keepalived并不跟nginx耦合,它俩完全不是一家人但是keepalived提供一个机制:让用户自定义一个s ...

  10. (1)jmeter录制脚本(使用代理的方式)

    (1)jmeter录制脚本(使用代理的方式) jmeter 2018年07月09日 17时27分24秒 很多APP使用badboy是无法录制的,这种情况下需要使用chrome或Firefox,如果能联 ...