Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1263
Assunto : ADO.NET
Titulo: Recuperando int ou null do banco com Entity Framework

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Quando recuperamos dados do banco, quanto menos pudermos recuperar, melhor. Se um simples Id for suficiente para o que precisamos, isso é ótimo.

Porém, quando recuperamos um value type utilizando entity framework, nunca recebemos de volta um NULL. Veja um exemplo de uma query:

(from c in db.clientes
where c.nome=="Empresa xpto"
select c.Id).FirstOrDefault();

O método FirstOrDefault vai trazer o primeiro registro resultante ou o valor default de resultado. Ocorre que o resulto é um Id, tipo int, portanto o valor defaul é 0. Assim sendo, essa query vai recuperar 0 ao invés de recuperar nulo.

Um truqe inteligente e bem simples nos permite retornar nulo nessa query: Como podemos fazer um int ser nulo? Utilizando Nullable<int>, ou simplesmente "?".

Veja como fica:

(from c in db.clientes
where c.nome=="Empresa xpto"
select c.Id).Cast<int?>.FirstOrDefault();


O cast muda o tipo de resultado da query, agora o valor default deste resultado é nulo e não mais zero, portanto teremos nulo como resultado quando um registro não for encontrado.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br