🔥Desde 2016! 💥O maior e mais ativo grupo de .NET do Telegram há 9 anos. 🎯Grupo sobre .NET, ASP.NET, Mono, .NET Core, Xamarin, C# etc. Use /info para as regras e informações adicionais. 👉Regras: go.gaGO.io/dotnetbr-rules
A partir de julho de 2026, CNPJs poderão ter letras e números nos primeiros 12 caracteres. Bora refatorar!
Читать полностью…https://github.com/ardalis/CleanArchitecture/blob/main/src/Clean.Architecture.Infrastructure/Data/Queries/ListContributorsQueryService.cs
Esse é um template de Clean Arquitecture do Steve “Ardalis” Smith e ele mesmo usa DTO pra retornar dados do banco.
https://github.com/ardalis/CleanArchitecture/blob/main/src/Clean.Architecture.Infrastructure/Data/Queries/ListContributorsQueryService.cs
Pra mim depende da arquitetura, se vc pensar em CQS (command Query Segregation) as consultas utilizadas para retornar dados a um consumidor pode estar em uma estrutura mais simples que a que vc utiliza nas regras de negócios qdo está inserindo ou atualizando dados
Читать полностью…Só um adendo, Repository é um termo cunhado no DDD que ele abstrai a camada de dados para um AggregateRoot.
No livro diz que ele é como se fosse uma coleção das suas entidades, que armazena/insere/recupera e atualiza.
Seguindo esse conceito, nada impede você ter um Repository para fazer ações com sua entidade e um DAO (Talvez seguindo o padrão DAL) para retornar apenas partes que você precisa, sem precisar ficar carregando a entidade por completa.
Isso sem falar em problemas de performance: imagina uma aplicação com elevado throughput em que centenas ou milhares de requests carregando do banco uma porrada de dados que ele não precisa
Читать полностью…Entidade representa seu domínio, não suas tabelas do banco de dados. Uma coisa é uma coisa, outra coisa é outra coisa. Eventualmente uma entidade será mapeada em uma tabela, mas não necessariamente. Desing de domínio é diferente de design de dados.
Além disso, você não deve retornar um conjunto enorme de dados quando se precisa apenas de uns poucos campos.
Eu penso que como os dados da base de dados são representados pelas nossas entidades de domínio, então o resultado da base deve ser o objeto entidade. Quando ele é retornado para a camada de aplicação (um service por exemplo) então o objeto entidade deve ser mapeado para um Dto, que por sua vez será retornado para a controller.
Читать полностью…Assim como você pode retornar só uma string (“Nome” do Produto, por exemplo)
Читать полностью…Fiz um frontend inteiro (nextjs) só com cursor, já posso atualizar meu CV pra fullstack? 😅
Читать полностью…Pessoal, boa tarde. Uma dúvida que para alguns podem ser básica, mas tô me encucando aqui…
O meu repositório pode retornar um DTO ou ele deve retornar Entities do banco de dados? Por exemplo, se eu quiser uma consulta de informações resumidas da minha tabela de Produtos, e pra isso eu tenho um DTO simplificado com poucas informações dos meus produtos, o meu ProductRepository já pode retornar somente as informações que o meu DTO quer? Ou o certo seria retornar a entidade Product e eu fazer a conversão em outra camada?
o copilot é mais sugestivo, o cursor com claude é mais abusado kkkk ele sai fazendo as coisas q tu pediu, só q as vezes faz mais doq vc queria kkk. Acaba dando trabalho pra arrumar. A galera mais conservadora acredito q prefira o copilot. Mas quero dar uma abusada da IA pra ver até onde ela vai.
Читать полностью…Eu tenho de achar minha crítica, antes dos lançamentos recentes aqui, mas no longo prazo a Google tende a dominar AI.
Читать полностью…Tem o claude no Copilot, mas por algum motivo as vezes tem um comportamento bizarro. Tipo misturar a versão do código sem a alteração com a versão do código com a alteração da IA, o código final fica com várias linhas duplicadas.
Читать полностью…Nesse caso ele não está criando repositories, ele está pegando os dados diretamente da service. O arquivo que você mandou é uma service que recebe o contexto do banco direto no construtor:
public class ListContributorsQueryService(AppDbContext _db) : IListContributorsQueryService
Isso principalmente para API que vão ser consumidas por clientes, facilita ele não precisa saber toda a modelagem da sua base isso é uma complexidade interna
Читать полностью…Faz sentido recuperar a entidade por completa quando você quer fazer uma operação e as regras de negócio estão encapsuladas na mesma.
Читать полностью…Tenho o costume de fazer assim também, até porque fica mais difícil reutilizar métodos de repositories que retornam DTOs para casos específicos.
Retornando DTOs na repository você pode acabar com métodos assim:
GetProductBasicAsync
GerProductCompleteAsync
GetProductNamesAndIdsAsync
GetProductNamesAndPricesAsync
lembrando que o Dto serve para customizar o resultado. Algumas propriedades talvez não podem ser expostas ou devem ser tratadas antes
Читать полностью…Depende muito da sua arquitetura. Se estiver usando clean arch, provavelmente as interfaces das repositories estarão na camada de domínio, caso isso aconteça você não conseguirá retornar DTOs (que provavelmente estarão na camada de aplicação).
Digo "provavelmente" porque cada um implementa clean arch de uma forma diferente (não estou dizendo que é errado).
Pode retornar só o DTO. Imagina que você quer apenas “Id”, “Ativo” do seu Produto pra executar alguma regra de negócio específica, então você vai buscar só esses campos do banco e vai retornar só eles na DTO.
Читать полностью…Fale... talvez existam pessoa que possam dar sugestões melhores, mas por enquanto, se teu objetivo for estudo, posso te sugerir que estude os conceitos básicos de Programação Orientada a Objetos e, pra aprofundar esses conceitos, acho uma boa estudar os princípios SOLID e o Object Calisthenics. Tudo isso sempre implementando exemplos em C#, primeiro com aplicações Console e depois partindo pra uma API que receba e responda JSON.
Essa é minha sugestão de como começar em C# e .NET
Oi galera. Tudo bem? Estou nesse grupo faz algum tempo e apenas leio as mensagens e novidades que vocês postam. Eu queria saber uma coisa, se alguém puder dizer. Como começar em C# e .NET? Existe uma maneira correta e tal? Eu sou curioso da programação apenas, nunca fiz algo grandioso, só alguns scripts mesmo em JS ou Python que facilitaram alguma tarefa. E eu acho interessante esse mundo só .Net, então se alguém puder dar alguma dica ou recomendação, eu fico agradecido.
Читать полностью…opah! to muito curioso em saber suas conclusões sobre programar com IA e c#.
Читать полностью…