繁体   English   中英

我们什么时候需要创建一个新的自定义 DTO?

[英]When do we need to create a new custom DTO?

我有一个名为 User 的实体,它可以有许多服务(实体服务),我有两个操作,其中一个名为 GetUser(),另一个名为 GetUserServices()

  • GetUser():获取用户并返回一个名为 UserDto 的自定义 DTO
public class UserDto
{
public int Id {get;set;}
public string Username {get;set;}
} 
  • GetUserServices():获取用户及其服务 ID,假设在某个时候我想在这个 function 上返回这些属性 [UserId, Username, ServicesIds] 我的问题是我应该通过添加 ServicesId 属性 [1] 来修改 UserDto 还是创建另一个自定义 DTO [2]?

  1. 如果我 go 与解决方案 [1] 意味着 GetUser() 将返回 JSON object 具有空的 ServicesId 属性,这将导致错误的 UX
  2. 如果我使用 go 的解决方案 [2] 将导致为我拥有的每个操作创建,自定义 DTO 取决于返回的数据的形状,而且我将努力找出每个创建的自定义 DTO 的名称。

您可以使用任何一种方式。 如果您对每个操作使用单独的 DTO - 这需要大量的代码编写(和时间花费)。 我更喜欢将一个 DTO 用于类似的操作,只要它们具有可读性和灵活性,并在需要时创建额外的。

有关更多信息,请查看此文档。您可以在此处找到 DTO 的一些基本原则、优缺点。

https://docs.microsoft.com/en-us/aspnet/web-api/overview/data/using-web-api-with-entity-framework/part-5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM