Operadores LINQ essenciais

Language Integrated Query (LINQ) usa uma incrível variedade de operadores. A operador é uma palavra especial que informa LINQ que tipo de consulta para executar, como verificar se dois valores são iguais. Os operadores podem passar de centenas, mas na maioria dos casos você vai executar a maioria das tarefas usando apenas alguns operadores padrão. Abaixo está uma lista de operadores LINQ essenciais.

OperadorDescrição
a partir deDefine o objeto temporário usado para realizar uma consulta. Pense ofthis operador definir o objeto elemento individual de whichyou derivam todos os outros dados para a consulta. Por exemplo, você choosewhat dados aparecerão na saída e como esses dados são orderedbased na variável temporária. o a partir deoperador é o único que deve aparecer em todas as youCreate consulta.
dentroDefine a fonte de dados utilizado para obter os dados. Um dado sourcecan ser qualquer objeto apoiado por um provedor de dados. Os providercreates uma conexão entre a fonte de dados eo exemplo LINQ query.For, uma fonte de dados pode incluir um objeto, como uma caixa de listagem, um arquivo XML, uma tabela SQL Server, Active Directory, um webservice, ou apenas sobre qualquer outra coisa que você quer usar para collectinformation. É ainda possível trabalhar diretamente com arquivos na unidade yourhard usando uma consulta LINQ. Uma consulta pode conter tantas matchingpairs de a partir de e em operadores como é necessária para descrever completamente thedata fontes utilizadas na consulta.
selecionarEscolhe as informações de saída para a consulta. O simplestoutput é o mesmo objeto que você definir usando o de operador. No entanto, um operador de seleção pode incluir valores calculados, conjuntos de dados, ou propriedades de objetos individuais. O limitingfactor na maioria dos casos é a funcionalidade oferecida pelo LINQprovider. Todos os quatro dos provedores padrão incluem o completerange de selecionar comportamentos operador. Aquery contém apenas um selecionar operatorand este operador deve aparecer como o último operador em thequery.
OndeDescreve as condições em que um elemento aparece como partof a saída. o Onde operador alwaysrequires um argumento booleano para definir as condições de saída. Youcan incluir o maior número Onde operadores asneeded para descrever plenamente os critérios de saída. LINQ interpreta oOnde operadores na ordem em qual atua aparecem na consulta, assim que a ordem é importante. Quando um trabalho querydoesn't como previsto, tente alterar a ordem dos operadores onde para melhor descrever as outputrequirements. Use o depurador para ajudar a localizar erros na logicalflow de Onde operadores.
ordenar porDefine a ordem em que os elementos de saída aparecer. O mais simples ordenar por operador depende de theObject você define usando o a partir deoperador. No entanto, uma ordenar por operatorcan aceitar qualquer instrução que define uma ordenação lógica argumentas de entrada - normalmente numérica, alfabética, símbolo ou binary.You pode usar como muitos ordenar por asneeded operadores para descrever totalmente a ordem dos dados de saída. Tal como acontece com oOnde operador, LINQ interpreta o operador OrdenarPor na ordem em que itappears na consulta. Por conseguinte, a fim de os operadores OrdenarPor é importante.
Junte-se e emCombina duas ou mais fontes de dados para criar uma visualização composta ofthe dados. As fontes de dados não precisa contar com os mesmos fornecedores. uso youcan como muitos Junte-se operadores asrequired para descrever completamente todas as fontes de dados utilizadas para aquery. o em operador define thecriterion usado para combinar duas fontes de dados. Emparelhar o juntar e em operatorsto criar uma fonte de dados completo.
deixeiCria um valor calculado para o uso dentro da consulta. Calculatedvalues ​​fazer consultas complexas mais fácil de formular. Além disso, youcan passar um valor calculado sobre o chamador para fornecer additionaloutput informações. Em muitos casos, o operador let fornece os meios para passingdata que LINQ não vai normalmente passam devido a um conflito de nomes. uso youcan como muitos deixei operadores como requiredto fornecer funcionalidade de consulta completa, mas você deve limitar o useof deixei a situações em que um calculatedvalue aumenta a velocidade de consulta.

menu