应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

abp vnext dto用法。

4295人阅读 2020/12/16 10:19 总访问:5194061 评论:0 收藏:0 手机
分类: .NET Core

为不同的操作创建不同的dto是abp nvext推荐的做法。官方的解释如下:


我们可以在创建和更新操作间分享 (重用) 相同的DTO. 虽然可以这么做, 但我们推荐为这些操作创建不同的DTOs, 因为我们发现随着时间的推移, 它们通常会变得有差异. 所以, 与紧耦合相比, 代码重复也是合理的.

比如基础的dto,查询的dto,添加的dto,更新的dto单独编写。示例如下:

AuthorDto:

  1. using System;
  2. using Volo.Abp.Application.Dtos;
  3. namespace Acme.BookStore.Authors
  4. {
  5. public class AuthorDto : EntityDto<Guid>
  6. {
  7. public string Name { get; set; }
  8. public DateTime BirthDate { get; set; }
  9. public string ShortBio { get; set; }
  10. }
  11. }

EntityDto 只有一个类型为指定泛型参数的 Id 属性. 你可以自己创建 Id 属性, 而不是继承自 EntityDto

GetAuthorListDto:

  1. using Volo.Abp.Application.Dtos;
  2. namespace Acme.BookStore.Authors
  3. {
  4. public class GetAuthorListDto : PagedAndSortedResultRequestDto
  5. {
  6. public string Filter { get; set; }
  7. }
  8. }

Filter 用于搜索作者. 它可以是 null (或空字符串) 以获得所有用户.
PagedAndSortedResultRequestDto 具有标准分页和排序属性: int MaxResultCount, int SkipCount 和 string Sorting.

ABP 框架拥有这些基本的DTO类以简化并标准化你的DTOs. 参阅 DTO 文档 获得所有DTO类的详细信息.

CreateAuthorDto:

  1. using System;
  2. using System.ComponentModel.DataAnnotations;
  3. namespace Acme.BookStore.Authors
  4. {
  5. public class CreateAuthorDto
  6. {
  7. [Required]
  8. [StringLength(AuthorConsts.MaxNameLength)]
  9. public string Name { get; set; }
  10. [Required]
  11. public DateTime BirthDate { get; set; }
  12. public string ShortBio { get; set; }
  13. }
  14. }

数据标记特性可以用来验证DTO. 参阅 验证文档 获得详细信息.

UpdateAuthorDto:

  1. using System;
  2. using System.ComponentModel.DataAnnotations;
  3. namespace Acme.BookStore.Authors
  4. {
  5. public class UpdateAuthorDto
  6. {
  7. [Required]
  8. [StringLength(AuthorConsts.MaxNameLength)]
  9. public string Name { get; set; }
  10. [Required]
  11. public DateTime BirthDate { get; set; }
  12. public string ShortBio { get; set; }
  13. }
  14. }

官方文档:https://docs.abp.io/zh-Hans/abp/latest/Tutorials/Part-8?UI=MVC&DB=EF


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

C ?、?? 问号和2个问号的用法(类型?、对象?)

C# ?C# ???:单问号1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值如这...

C out、ref关键字的用法和区别

说说自己对out、ref的认识,面试问到的几率很高哟。out:classProgram { /* *out、ref都是引用传递,传递后使用都会改变...

网页上传文件断点续传的实现,无视文件大小上传,以及datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

ado.net访问数据库的基本用法

放回datatable//1:开打数据库的连接 using(SqlConnectionconn=newSqlConnection(&quot;server=.;uid=sa;pwd=123456;databa...

Oracle中MERGE INTO,for,start with,decode用法

1. MERGEINTO:MERGEINTOT_TD_BU_MODIFY_NOTICE_LSA USING( selectMODIFY_NOTICE_ID,REJECT_REASONfromT_TD_BU_MODIFY_NOT...

asp.net mvc @helper用法

@helper可以在视图定义一个公共块,这样就可以实现代码的重复调用下面来一个很简单的例子:就是输出一个list的数据。实际项...

Vue.js if用法

vue.js if可以做一些判断例如我们要把下面这个输出varvm=newVue({ el:&quot;#content&quot;, data:{ titles:[&quot;小明...

js splice的简单用法,操作数组js删除数组,js根据下标删除数组js更新数组

splice就是对数组的增删改操作简单解释一下参数:1: 开始位置2: 要删除的个数3-n: 要添加的元素直接贴代码:&lt;script&g...

json介绍与基本用法

json介绍:Javascript object natationjs对象记号,用来标识对象格式就是一个键值对的形式作用:主要作为数据传输,也可以...

bootstrap模板 form的一点布局用法

bootstrap form的布局可以在form stuff里边看到,我们就复制form layouts里边的吧复制这里的我们实现一个简单的资源上传的页...

Action与Func的用法-----委托

Action:运用于没有返回值有参可以进行在方法里面进行有参传值。 3.实例Func:1.主要运用于有参有返回值Action于Funcye通过...

Lambda表达式用法

无参无返回值:2.有参无返回值:3.有参有返回值:4.2个参数有一个返回值:5.通过表达式对泛型数据进行查询示例1:模糊查询示例2...

abp框架的介绍和基用法

一、什么是ABP框架? ABP框架全称为“ASP.NETBoilerplateProject”,中文翻译为“ASP.NET样板项目”,诞生的主要目的就是...

js !!,js两个感叹号的用法

可以为了巧妙的实现为空验证,比较简洁的实现可以直接判断if(a!=null&amp;&amp;typeof(a)!=undefined&amp;&amp;a!=&#39;&#3...

c++switch用法

switch语句的语法如下: switch(表达式) //表达式的类型只能是 整形 、 字符型 、 枚举类型 { case 常量表...