C#
Linq – Função Take()
by paulorb on jul.19, 2012, under C#, EF
Essa função é util quando precisamos limitar o numero de resultados de uma query.
Por exemplo:
//retorna até 100 registros var r = (from i in m.PessoaFisica where i.Nome.StartsWith(iniciaisDoNome) select i.Nome).Take(100).ToList();
T4 Language
by paulorb on fev.17, 2012, under C#, EF
Um bom artigo sobre T4 Language. Muito interessante e no final mostra algumas extenções para o vs.
Server-generated keys não são suportadas no SQL Server Compact com EF
by paulorb on fev.02, 2012, under C#, EF
O SQL Server Compact não suporta Server-generated keys ou seja se quando você criar o arquivo SDF, e for criar a tabela você deve prestar atenção ao criar a chave-primária. Olhe a figura abaixo um exemplo de um exemplo de como configurar.
Na figura setamos o datatype como BigInt colocamos como unico e como chave primária. E o mais importante setamos o Identity como false ou seja NÃO queremos que as chaves sejam auto-incrementadas algo que o EF no SQL Server Compact não suporta, nós então faremos isso manualmente.
No codigo o ID deverá ser preenchido manualmente, algumas soluções para isso.
using (BDEntitiesCont db = new BDEntitiesCont()) { Tasks t = new Tasks(); t.id = (new Random().Next(1,10000) ); ... }
ou algo melhor
using (BDEntitiesCont db = new BDEntitiesCont()) { Tasks t = new Tasks(); t.id = DateTime.UtcNow.Ticks; ... }
Referencias
http://technet.microsoft.com/en-us/library/cc835494.aspx
http://erikej.blogspot.com/2010/04/solutions-to-server-generated-keys-and.html
Culture Info Convertendo Decimal para String
by paulorb on fev.01, 2012, under C#
Hoje vou mostrar como fazer como converter um Decimal para String usando culturas e distintas e quanto isso pode ser problematico.
Vamos criar inicialmente o nosso Decimal
Decimal decVal = 10.123456m;
Agora vamos converte-lo para String usando o metodo toString()
decVal.toString()
o resultado é 10,123456
Perceba que no resultado temos uma “,” como separador. Isso ocorre porque nos regional Settings do painel de controle está definido a cultura Portugues.
Farei agora outro exemplo mostrando com a cultura diferente para isso vamos usar o metodo ToString(IFormatProvider)
decVal.ToString(CultureInfo.GetCultureInfoByIetfLanguageTag("en-us"))
Agora o resultado será 10.123456