|
|
Browse by Tags
All Tags » LINQ (RSS)
Showing page 1 of 3 (23 total posts)
-
Para finalizar esta série acerca da hidratação de objectos, vou mostrar algumas comparações de performance entre os diferentes métodos de hidratação de objectos.
Para os efeitos deste exercício vou usar esta classe:class SomeType
{
public int Id { get; set; }
public string Name { get; set; }
public DateTimeOffset CreationTime { ...
-
Na minha entrada mostrei como hidratar objectos criando instâncias e afectando propriedades dessas instâncias.
Mas, se a intenção é hidratar objectos partir de dados, porque não ter uma expressão que faz isso mesmo? É para isso memos que serve a expressão de inicialização de membro.
Para criar tal expressão apenas é necessário uma ...
-
Após a minha entrada acerca de como despejar objectos usando árvores de expressões, têm-me perguntado se o mesmo pode ser feito para hidratar objectos.
Claro que pode, mas poderá não ser tão fácil.
O que procuramos é uma forma de afectar propriedades em objectos de que desconhecemos o tipo. Para tal, necessitamos de gerar métodos que afectem o ...
-
No seguimento da minha última entrada, recebi muitas questões acerca de como me tinha tornado um especialista na criação de árvores de expressões.
A resposta é: .NET Reflector
Naquela entrada eu precisava de gerar uma árvore de expressões para esta expressão:Expression<Func<object, object>> expression = o => ...
-
Um colega perguntou-me se eu conhecia alguma forma de despejar uma lista de objectos para uma DataTable com melhor performance que a que ele estava a usar.
Os objects a serem despejados têm, geralmente, mais de uma dúzia de propriedades, mas, para os efeitos deste texto, assumamos que se parecem com isto:class SomeClass{ ...
-
Na minha última entrada apresentei o PredicateEqualityComparer e um método de extensão Distinct recebe um predicado e cria internamente um PredicateEqualityComparer para filtrar elementos. Usar o predicado melhora a legibilidade, concisão e expressividade das consultas, mas ainda pode ser melhor. Na maioria dos casos, não queremos providenciar ...
-
Hoje estava a escrever um consulta LINQ e necessitava de seleccionar valores distintos baseado num determinado critério de comparação. Felizmente, o método Distinct do LINQ permite fornecer um comparador de igualdade, mas, infelizmente, muitas vezes implica escrever um comparador específico para a ocasião. Porque ia necessitar de mais que um ...
-
Tal como outros métodos da API do LINQ que extraem valores escalares de sequências, o Single tem um correspondente SingleOrDefault.
A documentação de SingleOrDefault diz que retorna um único e específico elemento de um sequência de valores, ou um valor por omissão se tal elemento não exisitir, although, in my opinion, it should state that it ...
-
Já presenciei e estive envolvido em algumas discussões acerca da correcção e utilidade do método Single na API do LINQ. O argumento mais comum é que se está a pedir o primeiro elemento de um conjunto e que será lançada uma excepção se existir mais que um elemento nesse conjunto. Em vez disso, deveria ser usado o método First. Apesar da ...
-
Hoje, o meu amigo Nuno estava a escrever algum código para obter as PropertyInfos da implementação de uma interface por parte de classe. Dada este interface: public interface ISomeInterface
{
int IntProperty { get; set; }
string StringProperty { get; }
void Method();
}
e esta classe:
public class SomeClass : ...
1
|
|
|