Postagens

Mostrando postagens de outubro, 2015

LINQ :: Select().Max() considerando retorno que pode ser nulo

Para quem desenvolve sistemas e trabalha com LINQ  e banco de dados, pode existir uma situação em que seja necessário fazer o que utilizando SQL convencional seria um SELECT MAX(campo), sendo que normalmente campo uma chave primária (particularmente eu trabalho com PKs identity ou sequences). O objetivo é simples, encontrar o maior valor para um determinado campo. A sugestão utilizando LINQ  é algo como: decimal  consultaId =  ContextoBD .Query< TipoDominio >()     .Select(x => ( decimal ?)x.Id)     .Max() ?? 0; var  maiorId = (consultaId + 1); return  ( int )maiorId; Mas então a pergunta, "qual o detalhe do código, não seria óbvio só utilizar o método Select() e então Max() diretamente para uma variável Int?". Só que isso não funciona em todos os casos! O detalhe no código acima está em utilizar um tipo decimal como retorno com um cast nuláv...

Seu apartamento vale um produto Apple? (ou "troco Apple Watch por um pulmão")

"Pense num inutilitário, achou o Apple Watch, por mais contrário que isso seja para os fanboys." Inutilitário para a maioria das pessoas, e não necessariamente apenas o smart watch da Apple. Essa massa de pessoas já trocou os relógios de pulso por um celular há muito tempo hoje compra um smart watch tentando achar um objetivo, forçadamente tenta, mas é difícil ver algo que não seja tão banal quanto as "smart bands" que apenas exibem horas e contam passos (e outras frescuras só para alertar o usuário a pegar o celular para ver detalhes). Não estou falando sobre um determinado programa muito legal que rode no seu revolucionárioeinovador aparelho de pulso do futuro, mas se realmente vai encontrar utilidade prática no dia-a-dia para ele que justifique te-lo. O problema da Apple é cobrar - a preço BrasilPT - 2.900 reais a 135.000 reais, isso é irreal mesmo no Brasil, ainda mais sabendo que vai estar mesmo é pagando por versões de pulseiras e a caixa do relógio, ...

IIS Express - resolver problemas de cache

Quem desenvolve com o Visual Studio deve, em algum momento, ter esbarrado com algum comportamento estranho do IIS Express após alguma mudança de arquivos do projeto fora do contexto do Visual Studio. A solução que encontrei foi a exclusão do site no IIS Express para que seja posteriormente criado pelo Visual Studio, assim como da primeira vez. $appCmd = "C:\Program Files (x86)\IIS Express\appcmd.exe" $result = Invoke-Command -Command {& $appCmd 'list' 'sites' '/text:SITE.NAME' } for ($i=0; $i -lt $result.length; $i++) { Invoke-Command -Command {& $appCmd 'delete' 'site' $result[$i] } } Esse snippet exclui todos os sites, mas pode ser facilmente adaptado para um apenas.