Ricardo Serradas

Visual Studio ALM in a nutshell

Arquivo da categoria ‘Desenvolvimento

Curso de formação em .Net–Stefanini

com 3 comentários

Olá a todos,

Ontem teve fim uma experiência muito bacana que tive aqui na Stefanini: assumi, com apoio do time de arquitetura (Raphael Nascimento – @raPHaelrn, Felipe Castro – @felipec_castro e Victor Cavalcante – @vcavalcante), uma turma de formação de profissionais de análise e desenvolvimento na plataforma .Net.

A idéia era captar talentos do mercado e disseminar os conhecimentos e cultura do SDC (Software Delivery Center da Stefanini). Estudantes do 1º ao 3º semestre (se não me engano, estou certo moçada?).

Durante o curso, falamos de orientação à objeto, orientação à eventos, banco de dados, entre outras coisas… Desenvolvemos uma calculadora, um cadastro simples e por fim um “Bank line”. Foi tudo bem legal, eu curti muito a experiência e espero que, os que ainda posso chamar de “meus alunos”, também tenham gostado e que tenham suas expectativas atingidas.

Algo bem legal que posso contar é que eu costumava dizer que eu estava ensinando a eles “como não fazer” algumas coisas. Claro, com o objetivo de que eles buscassem estudar sobre qual seria a forma correta de chegar ao mesmo objetivo, que fossem atrás. O @vcavalcante fazia até algumas participações especiais nas aulas, chegando de surpresa e dizendo “É isso aí que ele está ensinando pra vocês? Está tudo errado!” – É claro que nestas aulas eu falava de HTML, JavaScript, ASP.Net WebForms Smile with tongue out

Abaixo, algumas fotos do último dia de aula. (Clique para ampliar)

DSC01615DSC01620

Espero vê-los novamente num futuro próximo! Sucesso à todos e “ganbatte” *.

*Do japonês: Do your best, go for it (esforce-se, dê seu melhor)

Escrito por Ricardo Serradas

12/11/2010 em 10:25 AM

Publicado em Desenvolvimento, Eventos

Etiquetado com , ,

LINQ To Entities e o método Contains, um contorno

fazer um comentário »

Olá a todos,

Depois de muito tempo, volto a escrever. Tem sido uma dura correria que me impossibilitou de dar atenção a este valioso espaço. Porém, mais uma vez, prometo tentar reservar um pouco do meu tempo para enriquecer o conteúdo desta página.

Volto hoje com um assunto que não costumo discutir aqui no blog, que é codificação.

Ultimamente tenho ocupado quase que todo o meu tempo com estudos e discussões sobre a melhor forma de codificar algo. Um problema que encontrei dias atrás foi uma limitação do LINQ To Entities, que não implementou um método mapeado para a função “IN” do SQL. Um exemplo: quero obter todos os usuários do banco cujo ID é um dos números da sequência mística do seriado LOST, que é: 4, 8, 15, 16, 23, 42. A query SQL seria:

SELECT * FROM USER U WHERE U.ID IN (4, 8, 15, 16, 23, 42)

 

Em tese, uma expressão LINQ para fazer a mesma coisa seria mais ou menos assim:

string[] ids = { “4″, “8″, “15″, “16″, “23″, “42″ };

var users = (from t in _db.User where ids.Contains(t.Id.ToString()) select t).ToList();

 

Em tempo de compilação, tudo certo. Porém, ao executar este código, você receberá esta mensagem de erro:

LINQ to Entities does not recognize the method 'Boolean Contains(Int32)'

 

É possível estender as bibliotecas do LINQ para mapear a função, criar uma função ultra-complicada para fazer isso, mas há uma maneira de resolver com uma linha de código, que é:

var users = _db.User.Where("it.Id IN {" + string.Join(",", ids) + "}");

 

Atenção para a palavra chave “it”, ela representa sua entidade na query. Logo, Id é a propriedade.

Experimente!

[]‘s

Ricardo Serradas

Escrito por Ricardo Serradas

08/01/2010 em 12:40 AM

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.