Not necessarily, in my opinion. Since you are using a tiered architecture, I assume that your DTOs are at the top level, usually at the service level, which acts as a point of communication between the server and clients. In fact, the main purpose of the DTO as their name implies (Data Transfer Objects) is to enable communication by transmitting information without reference to any logic - for example. operations.
Layers should know only those that are lower and not higher; therefore, DTOs must be stored at the service level and consumed by those responsible - for example, the shell - to retrieve domain objects from the repository and perform any operations.
Bottom line: DTOs do not apply to the domain, they belong to the service / connection.
jnovo source share