Abp添加新的接口(扩展底层接口)
在https://aspnetboilerplate.com/Templates 创建项目之后,下载用Vs2019打开(vs2017不支持netcore3.0)结构如下:
一、

2、
在xx.core中新增实体类Code codemapping


3、
在xx.core 中新增 仓储接口

4、在xx.EntityFrameWork中实现仓储

不要忘记在项目中上下文中做如下设置,否则执行add-migration 及update-database 时不会产生对应的表结构

public class CodeMappingRepository:WuMingRepositoryBase<CodeMapping,int>,ICodeMappingRepository
{
public CodeMappingRepository(IDbContextProvider<WuMingDbContext> dbContextProvider) : base(dbContextProvider)
{
} public int Account()
{
throw new NotImplementedException();
}
}
public class CodeRepository :WuMingRepositoryBase<Code,int>,ICodeRepository
{
public CodeRepository(IDbContextProvider<WuMingDbContext> dbContextProvider) : base(dbContextProvider)
{
}
}
5 .在xx.Application 定义Ixxservice 和实现实现接口

定义和实现:
ICodeAppService
public interface ICodeAppService: IApplicationService
{
List<Code> GetCodes(); void UpdateCode(Code entity); void CreateCode(Code entity); void DeleteCode(int Id);
}
CodeAppService:
[AbpAllowAnonymous]
public class CodeAppService :WuMingAppServiceBase, ICodeAppService
{ ICodeRepository _CodeRepository;
ICodeMappingRepository _CodeMappingRepository; public CodeAppService(ICodeRepository CodeRepository, ICodeMappingRepository CodeMappingRepository)
{
_CodeRepository = CodeRepository;
_CodeMappingRepository = CodeMappingRepository;
} public void CreateCode(Code entity)
{
Logger.Info($"Created a User for entity at:{DateTime.Now}");
try
{
_CodeRepository.Insert(entity);
}
catch (Exception ex)
{
Logger.Error(ex.ToString());
}
} public void DeleteCode(int Id)
{
Logger.Info($"Created a User for entity at:{DateTime.Now}");
try
{
// _CodeRepository.Delete(new Code() { Id = Id }); }
catch (Exception ex)
{ Logger.Error(ex.ToString());
} } public List<Code> GetCodes()
{
Logger.Info($"Created a User for entity at:{DateTime.Now}");
try
{
//return _CodeRepository.GetAll().ToList();
return null;
}
catch (Exception ex)
{ throw;
}
} public void UpdateCode(Code entity)
{
Logger.Info($"Created a User for entity at:{DateTime.Now}");
try
{
// _CodeRepository.Update(entity); }
catch (Exception ex)
{ Logger.Error(ex.ToString());
}
}
}
6.设置项目启动项: F5 就可以看到api接口地址及接口描述


Abp添加新的接口(扩展底层接口)的更多相关文章
- typescript接口扩展、接口的继承
//接口扩展:接口可以继承接口 // interface Animal{ // eat():void; // } // interface Person extends Animal{ // work ...
- Abp添加新的Api(不扩展底层方法)
定义新的实体类:FileManage;继承 FullAuditedEntity<Guid> 在XX.Application 中定义IXXservice及实现XXservice public ...
- 添加新硬盘,扩展Centos7根分区
##背景介绍,系统安装时,分配的硬盘容量太小,根分区空间不够用,现添加一个新硬盘,通过以下步骤来扩展centos7根分区 [root@t201 ~]# df -h 文件系统 容量 已用 可用 已用% ...
- JEECMS 2.4.2 之添加新的可扩展的ftl模版文件、自定义方法
Demo: <@cms.CfgList isPage='1' league='0' recommend='0' lala='0' hot='1' memberId='0' pageNo=page ...
- Android Telephony分析(六) ---- 接口扩展(实践篇)
本文将结合前面五篇文章所讲解的知识,综合起来,实现一个接口扩展的功能.如果还没有阅读过前面五篇文章的内容,请先阅读:<Android Telephony分析(一) — Phone详解 >& ...
- typescript接口扩展
/* typeScript中的接口 接口扩展 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批 ...
- Java EE HttpServletRequest接口和HttpServletResponse接口
package javax.servlet.http (https://docs.oracle.com/javaee/7/api/javax/servlet/http/package-summary. ...
- Surface Pro 4 和 Surface Book 使用名为 Surface UEFI(统一可扩展固件接口)的新固件接口
Surface Pro 4 和 Surface Book 使用名为 Surface UEFI(统一可扩展固件接口)的新固件接口.Surface UEFI 提供新功能,如启动更快速.安全性更高.可替换 ...
- 如何利用phpize在生产环境中为php添加新的扩展php-bcmath
在日常的开发当中,随着开发的功能越来越复杂.对运行环境的要求也就随着需求的变化需要不断地更新和变化.一个在线的生产系统不可能一开始就满足了所有的运行依赖,因此动态地添加依赖就显得比较必要了.如果你的应 ...
随机推荐
- Mybatis 实体类使用@Accessors(chain = true)注解时,对应的mapper xml 报错
去掉这个注解就行了 应该是 mybatis 会调用实体类的 getter setter 方法, 返回值可能会有所影响
- 解决Vue在IE中报错出现不支持=>等ES6语法和“Promise”未定义等问题
在做VUE项目中大家可能会发现除了IE内核浏览器之外项目都能正常显示,但是到IE就萎了,这主要是IE不支持ES6的原因. 要解决这个我们要先引入browser.js,这样你可以使用ES2015(jav ...
- mysql 查看库结构---查看表结构
查看库结构:SHOW DATABASES; 查看表结构: show tables即为显示当前数据库中所有的表.又如: mysql> use dbname //进入dbname库Database ...
- Cortex-M3 异常中断响应与返回
[异常/中断响应]Cortex-M3的异常/中断响应序列包括: 入栈:把8个寄存器的值压入栈. 取向量:从向量表中找出对应的服务程序入口地址. 更新寄存器:更新堆栈指针SP,更新连接寄存器LR,更新程 ...
- 找出所有从根节点到叶子节点路径和等于n的路径并输出
//找出所有从根节点到叶子节点路径和等于n的路径并输出 Stack<Node> stack = new Stack<Node>(); public void findPath( ...
- Hibernate查询总的记录数
1. 原生sql String hql="select count(*) from product" ;//此处的product是数据库中的表名 Query query=sessi ...
- Hibernate5+Spring4整合
(1) pom.xml <!--Spring Object/Relational Mapping --> <dependency> <groupId>org.spr ...
- 在使用DapperExtensions时遇到"其他信息: ConnectionString 属性尚未初始化。"错误
今天在使用在使用DapperExtensions时遇到"其他信息: ConnectionString 属性尚未初始化."错误. //return conn.GetList<T ...
- docker中tomcat日志输出自定义
一,默认tomcat日志配置文件 /data/tomcat/conf/logging.properties 1,修改tomcat/conf下的logging.properties [root@harb ...
- React Native中ref的用法(通过组件的ref属性,来获取真实的组件)
ref是什么? ref是组件的特殊属性,组件被渲染后,指向组件的一个引用.可以通过组件的ref属性,来获取真实的组件.因为,组件并不是真正的DOM节点,而是存在于内存中的一种数据结构,称为虚拟的DOM ...