Participe do balta.io Experience, um evento online, ao vivo e gratuito que vai reunir grandes nomes da internet em uma experiência única! 👉 balta.io/experience
Muito obrigado pelo vídeo! Assisti e em menos de 10 minutos consegui fazer as alterações necessárias na minha API e ainda implementar a paginação no frontend! Esse é o tipo de conteúdo que todo mundo deveria ensinar quando for explicar algo (principalmente no mundo da tecnologia)... você não só ensinou como fazer paginação, mas também ensinou o mais importante: O MOTIVO de fazer paginação. É essa a diferença entre um "tutorial" ou "guia" de um conteúdo informativo, feito pra te ensinar o conceito na prática.
Muito bom o vídeo, balta! Eu faço paginação passando a página e a quantidade de registros. Fica mais fácil ainda pro front. [FromRoute] int page = 1, [FromRoute] int take = 25 depois é só usar .Skip((page-1)*take).Take(take)
Seu conteúdo é muito bom, valeu demais por compartilhar. Logo estarei comprando um de seus cursos, pois se aqui, de forma resumida já é bom, imagina os cursos completos. Valeu!
Balta, eu vi que para fazer o total você fez a consulta novamente no banco e deu um count, isso não afeta o desempenho ? Teria um forma mais otimizada de fazer isso sem ter que fazer uma nova consulta no banco ?
Dependendo do banco de dados, vc tem outras possibilidades, mas não usando uma única consulta. Faz conforme o vídeo que é sucesso. Em casos extremos de performance, estude criar uma tabela para guardar os totalizadores, ou usar um banco secundário de rápida leitura com a réplica dos dados, ex: elasticsearch.
Dependendo da situação vc não precisa saber o total, ao invés disso, faz o frontend verificar se a quantidade de registros retornados é igual ao limite por página, caso sim, dê a opção de ir para a próxima página.
Video top. Balta poderia fazer video simples salvando em 2 bancos ao mesmo tempo? por exemplo salva em SQL escrita e salva MongoDb leitura. tenho curiosidade nessa implementação
Excelente video! Balta, uma dúvida que sempre tenho ao ver seus vídeos, porque você chama o contexto diretamente no método e não inicializa ele dentro do construtor? Existe algum motivo por trás disso, ou é apenas preferência?
Balta, se eu usar o padrão repositório, eu posso fazer a injeção de dependencia via fromServices tbm ? Se sim, há algum benefício dessa forma ? Antigamente eu criava uma propriedade somente leitura do tipo da interface do repositório, e colocava no construtor do controller, essa forma ainda é uma boa prática ou pelo fromServices é melhor ?
Muito bom Balta Me tire uma duvida, no Load você fez uma for chamando o construtor do ToDo passando os parâmentros(incluindo o Id), é necessário passar o Id? Achei que o Entity já fazia esse autoincrement
Bom dia, uma dúvida, ja atuei com várias paginaçôes porém sempre utilizamos Dapper, onde primeiro executamos uma query de select no banco em que faz o Count da tabela, e depois uma outra query responsável pela paginação de todos esses dados encontrados no Count. Teria alguma ideia de qual é mais performático ???
Dado que seus dados estão ordenados, você pode usar o ROWCOUNT pra paginar sem precisar contar todos os registros... Agora se quiser calcular a quantidade de páginas, aí precisa do COUNT sim, não tem jeito...
Balta, e no caso de usar um filtro? Por exemplo, no momento a api tá ordenando por Id, mas no caso eu quisesse ordenar pelo nome da tarefa ou data, como ficaria?
A abordagem é bastante interessante mas o fato de ter que ir duas vezes no banco de dados, 1 realizando o count para total de registro e a 2 para retornar os dados em si, esse problema não implica em performance em uma tabela de transações por exemplo? Neste cenário teria como utilizar o fromSql para retornar um objecto com hum count over() como total, teria um exemplo de implementação?
Peguei um probleminha aqui, tinha 10 registros na tabela, com take 10 skip 0, vinha so 3 resgistros, para resolver eu fiz um orderby apos o order eu coloquei take e skip
Boas André. Nã !!!!, eu não pertenço á geração da abstração e gosto muito de ver o SQL statement na minha frente para poder analisa-lo. :) Posto isto se poder responder: - Como se vê o SQL gerado pelo EntityFramework exctamente antes de chamar a BD ? - (As Views são boas soluções) Mas como e onde se define no EntityFramework um SQL mais complicado, que vá a varias tabelas? ex: SELECT * from table1 INNER JOIN table2 ON blabla INNER JOIN table3 ON blabla WHERE bla bla) Grato pelas partilhas :)
Participe do balta.io Experience, um evento online, ao vivo e gratuito que vai reunir grandes nomes da internet em uma experiência única!
👉 balta.io/experience
Muito obrigado pelo vídeo! Assisti e em menos de 10 minutos consegui fazer as alterações necessárias na minha API e ainda implementar a paginação no frontend! Esse é o tipo de conteúdo que todo mundo deveria ensinar quando for explicar algo (principalmente no mundo da tecnologia)... você não só ensinou como fazer paginação, mas também ensinou o mais importante: O MOTIVO de fazer paginação. É essa a diferença entre um "tutorial" ou "guia" de um conteúdo informativo, feito pra te ensinar o conceito na prática.
Concordo plenamente!
Muito bom o vídeo, balta! Eu faço paginação passando a página e a quantidade de registros. Fica mais fácil ainda pro front.
[FromRoute] int page = 1, [FromRoute] int take = 25 depois é só usar .Skip((page-1)*take).Take(take)
Exatamente... 💜
Ótimo e simples dessa forma, mas pra casos mais complexos gosto mais de usar OData, que tem uma biblioteca da Microsoft pronta e facilita bastante
OData é show também!
Seu conteúdo é muito bom, valeu demais por compartilhar. Logo estarei comprando um de seus cursos, pois se aqui, de forma resumida já é bom, imagina os cursos completos. Valeu!
💜💜💜💜
Show demais!!! Parabéns Balta... e obrigado por me fazer ficar cada dia mais riquinho, pois conhecimento é dinheiro!!! :)
Quero meus 10%!!!!! hahahahah brincadeira 💜
Fantastico, mas simples que isso só usando biblioteca pronta. obrigado
🚀🚀🚀
Vídeo show de bola, simples e claro.
Faz um depois consumindo api de terceiros....
👀
Irei fazer sim
Não sabia que dava para definir o tipo de parâmetro na rota desta forma. Obrigado =)
💜
Muito didático o vídeo, balta. Valeu muito pelo ensino! Abraço e tô esperando a Black Friday rsrs.
Boraaaa!
Excelente aula Balta, sempre trazendo ótimos conteúdos para todos nós programadores, muito sucesso sempre.
Muito obrigado 💜
Muito bom!! como sempre tem sido. E chegou na hora certa. Eu estava procurando justamente sobre isso!! obrigado mais uma vez balta!
Obrigado 💜
Balta, eu vi que para fazer o total você fez a consulta novamente no banco e deu um count, isso não afeta o desempenho ?
Teria um forma mais otimizada de fazer isso sem ter que fazer uma nova consulta no banco ?
É uma consulta a mais... mas não vejo outra forma de fazer isto
Dependendo do banco de dados, vc tem outras possibilidades, mas não usando uma única consulta.
Faz conforme o vídeo que é sucesso.
Em casos extremos de performance, estude criar uma tabela para guardar os totalizadores, ou usar um banco secundário de rápida leitura com a réplica dos dados, ex: elasticsearch.
Dependendo da situação vc não precisa saber o total, ao invés disso, faz o frontend verificar se a quantidade de registros retornados é igual ao limite por página, caso sim, dê a opção de ir para a próxima página.
Obrigado, cara. Resolveu minha vida aqui. Abs
💜💜💜
Video top. Balta poderia fazer video simples salvando em 2 bancos ao mesmo tempo?
por exemplo salva em SQL escrita e salva MongoDb leitura. tenho curiosidade nessa implementação
Ótima ideia
Parabéns pelo conteúdo balta! 💜
Muito obrigado 😁
Caso o comando dotnet não funciona, executa o "dotnet tool install --global dotnet-ef"
🚀🚀🚀
Caraca q video top, obrigado.
💜
Excelente video!
Balta, uma dúvida que sempre tenho ao ver seus vídeos, porque você chama o contexto diretamente no método e não inicializa ele dentro do construtor? Existe algum motivo por trás disso, ou é apenas preferência?
Tanto faz... não muda em nada
Tem algum video mostrando essa paginação no fron end com React ou angular ?
Faz um bom tempo que não trabalho com estes itens, mas acredito que na plataforma tenha sim!
Top de mais
💜💜💜
Adorei as cores das fontes do Rider, será que da pra fazer algo assim com o visual studio ?
Dá sim
Muito legal
Obrigado
Te amo Balta
💜
Muuuito bom meeeesmo 👏👏👏👏👏
💜💜
Balta, se eu usar o padrão repositório, eu posso fazer a injeção de dependencia via fromServices tbm ? Se sim, há algum benefício dessa forma ? Antigamente eu criava uma propriedade somente leitura do tipo da interface do repositório, e colocava no construtor do controller, essa forma ainda é uma boa prática ou pelo fromServices é melhor ?
Pode sim
Muito Bom, Muito Obrigado!
Eu que agradeço
Muito bom Balta
Me tire uma duvida, no Load você fez uma for chamando o construtor do ToDo passando os parâmentros(incluindo o Id), é necessário passar o Id? Achei que o Entity já fazia esse autoincrement
Dependendo do mapeamento não precisa... O EF ou banco geram...
fala balta, seus videos estão sem os fontes, se puder adicionar seria legal.
Vamos publicar em breve
Bom dia, uma dúvida, ja atuei com várias paginaçôes porém sempre utilizamos Dapper, onde primeiro executamos uma query de select no banco em que faz o Count da tabela, e depois uma outra query responsável pela paginação de todos esses dados encontrados no Count.
Teria alguma ideia de qual é mais performático ???
Dado que seus dados estão ordenados, você pode usar o ROWCOUNT pra paginar sem precisar contar todos os registros...
Agora se quiser calcular a quantidade de páginas, aí precisa do COUNT sim, não tem jeito...
Balta, e no caso de usar um filtro? Por exemplo, no momento a api tá ordenando por Id, mas no caso eu quisesse ordenar pelo nome da tarefa ou data, como ficaria?
Você pode usar o Where para incluir um filtro!
Mas lembre-se que na consulta do COUNT(*) tbm deve conter o filtro.
Balta, tem algum motivo especifico para utilização do Rider? Notei que já tem alguns vídeos que você o utiliza ao invés do Visual Studio ou VSCode.
Na minha opinião mais leve e vem com ReSharper
Muito bom👏🏻👏🏻👏🏻
Obrigado!!!
A abordagem é bastante interessante mas o fato de ter que ir duas vezes no banco de dados, 1 realizando o count para total de registro e a 2 para retornar os dados em si, esse problema não implica em performance em uma tabela de transações por exemplo? Neste cenário teria como utilizar o fromSql para retornar um objecto com hum count over() como total, teria um exemplo de implementação?
Sim, mas qual seria outra abordagem?
Tentei postar aqui mas o RUclips não está postando. A implementação está no git FabioTrindade projeto meu-todo-aspnet-5-paginação
LEGAL
🚀
Peguei um probleminha aqui, tinha 10 registros na tabela, com take 10 skip 0, vinha so 3 resgistros, para resolver eu fiz um orderby apos o order eu coloquei take e skip
Muito obrigado 0elo feedback 💜
Qual o nome do plugin que uso para deixar essas linhas comentadas?? com o tipo do retorno?? ... 9:30
É o próprio Rider! 🚀
obrigado achei que estava usando o VS2022@@baltaio
Boas André.
Nã !!!!, eu não pertenço á geração da abstração e gosto muito de ver o SQL statement na minha frente para poder analisa-lo. :)
Posto isto se poder responder:
- Como se vê o SQL gerado pelo EntityFramework exctamente antes de chamar a BD ?
- (As Views são boas soluções) Mas como e onde se define no EntityFramework um SQL mais complicado, que vá a varias tabelas? ex: SELECT * from table1 INNER JOIN table2 ON blabla INNER JOIN table3 ON blabla WHERE bla bla)
Grato pelas partilhas :)
Show
Up
💜
Muito legal.
Muito obrigado