Articles of linq

Como faço para agrupar dados em uma exibição do ASP.NET MVC?

Em ferramentas de relatórios como o Crystal Reports, existem maneiras de obter dados desordenados e agrupá-los por uma coluna específica nos dados, criando títulos de linha para cada item exclusivo na coluna especificada. Se eu tiver isso: Category1 Data1 Category1 Data2 Category1 Data3 Category2 Data4 Category2 Data5 Category2 Data6 O software de relatórios irá agrupá-lo […]

Um dictionary em que value é um tipo anônimo em c #

É possível em C # para criar um System.Collections.Generic.Dictionary onde TKey é incondicionado class e TValue – uma class anônima com um número de propriedades, por exemplo – nome da coluna do database e seu nome localizado. Algo assim: new { ID = 1, Name = new { Column = “Dollar”, Localized = “Доллар” } […]

Eu estou entendendo mal o LINQ to SQL .AsEnumerable ()?

Considere este código: var query = db.Table .Where(t => SomeCondition(t)) .AsEnumerable(); int recordCount = query.Count(); int totalSomeNumber = query.Sum(); decimal average = query.Average(); Suponha que a query leve muito tempo para ser executada. Eu preciso obter a contagem de registros, o total de SomeNumber ‘s retornado e obter uma média no final. Pensei com base […]

LINQ: campo de seqüência de caracteres de entidade contém qualquer uma matriz de seqüências de caracteres

Eu quero obter uma coleção de entidades de produto onde o produto. Propriedade de descrição contém qualquer uma das palavras em uma matriz de seqüência de caracteres. Seria algo como isto (resultado seria qualquer produto que tivesse a palavra “mostarda OU” picles “OU” saborear “no texto Descrição): Dim products As List(Of ProductEntity) = New ProductRepository().AllProducts […]

Práticas recomendadas para aplicativos da Web LINQ to SQL

Na minha experiência na criação de aplicativos da Web, sempre usei uma abordagem de n camadas. Um DAL que obtém dados do database e preenche os objects, e o BLL que obtém objects do DAL e realiza qualquer lógica de negócios necessária neles, e o site que obtém os dados de exibição do BLL. Recentemente, […]

Como remover itens rapidamente de uma lista

Eu estou procurando uma maneira rápida de remover itens de uma List C # List . A documentação informa que as List.Remove() e List.RemoveAt() são O(n) List.Remove List.RemoveAt Isso está afetando gravemente meu aplicativo. Escrevi alguns methods de remoção diferentes e testei todos eles em uma List com 500.000 itens. Os casos de teste são […]

Múltiplas cláusulas WHERE com methods de extensão LINQ

Eu tenho uma consulta LINQ que se parece com o seguinte: DateTime today = DateTime.UtcNow; var results = from order in context.Orders where ((order.OrderDate <= today) && (today <= order.OrderDate)) select order; Eu estou tentando aprender / entender LINQ. Em alguns casos, preciso adicionar duas cláusulas WHERE adicionais. Em um esforço para fazer isso, estou […]

Perguntas frequentes sobre o desempenho do LINQ

Eu estou tentando me familiarizar com o LINQ. O que mais me incomoda é que, mesmo quando entendo melhor a syntax, não quero sacrificar inconscientemente o desempenho pela expressividade. Eles são bons repositorys centralizados de informações ou livros sobre ‘LINQ Efetivo’? Caso contrário, qual é a sua técnica de LINQ de alto desempenho favorita? Estou […]

Qual é o objective de AsQueryable ()?

O propósito de AsQueryable() apenas para que você possa passar um IEnumerable para methods que possam esperar IQueryable , ou existe um motivo útil para representar IEnumerable como IQueryable ? Por exemplo, é para casos como este: IEnumerable orders = orderRepo.GetAll(); // I don’t want to create another method that works on IEnumerable, // so […]

LINQ + Foreach vs Foreach + Se

Eu preciso iterar sobre uma lista de objects, fazendo algo apenas para os objects que têm uma propriedade booleana definida como true. Estou debatendo entre esse código foreach (RouteParameter parameter in parameters.Where(p => p.Condition)) { //do something } e esse código foreach (RouteParameter parameter in parameters) { if !parameter.Condition continue; //do something } O primeiro […]