TL.QueryableExtensionsLibrary
0.1.0
See the version list below for details.
dotnet add package TL.QueryableExtensionsLibrary --version 0.1.0
NuGet\Install-Package TL.QueryableExtensionsLibrary -Version 0.1.0
<PackageReference Include="TL.QueryableExtensionsLibrary" Version="0.1.0" />
<PackageVersion Include="TL.QueryableExtensionsLibrary" Version="0.1.0" />
<PackageReference Include="TL.QueryableExtensionsLibrary" />
paket add TL.QueryableExtensionsLibrary --version 0.1.0
#r "nuget: TL.QueryableExtensionsLibrary, 0.1.0"
#:package TL.QueryableExtensionsLibrary@0.1.0
#addin nuget:?package=TL.QueryableExtensionsLibrary&version=0.1.0
#tool nuget:?package=TL.QueryableExtensionsLibrary&version=0.1.0
🔍 TL.QueryableExtensionsLibrary
O TL.QueryableExtensionsLibrary fornece extensões para IQueryable<T> voltadas para construção dinâmica de consultas LINQ através de Expression Trees, viabilizando filtros, ordenações, paginação e agregações por nome de propriedade em tempo de execução.
📦 Instalação
Adicione o pacote ao seu projeto através do .NET CLI:
dotnet add package TL.QueryableExtensionsLibrary
🚀 Funcionalidades Principais
| Método | Retorno | Descrição |
|---|---|---|
Filter(property, value) |
IQueryable<T> |
Filtra dinamicamente a sequência pelo nome da propriedade e valor com igualdade. |
Filter(property, comparison, value) |
IQueryable<T> |
Filtra dinamicamente aplicando operadores de comparação (=, !=, >, <, >=, <=, Contains, StartsWith, EndsWith). |
Order(property, ascending) |
IQueryable<T> |
Ordena dinamicamente (OrderBy ou OrderByDescending) pelo nome da propriedade informada. |
Page(index, size) |
IQueryable<T> |
Realiza paginação baseada em índice inicial 1 (Skip((index-1)*size).Take(size)). |
GroupBy<T, TKey>(property) |
IQueryable<IGrouping<TKey, T>> |
Agrupa os elementos dinamicamente pela propriedade especificada. |
DistinctBy<T, TKey>(property) |
IQueryable<T> |
Remove duplicatas mantendo o primeiro elemento para cada chave agrupada. |
Sum(property) |
decimal |
Calcula o somatório dinâmico da propriedade numérica especificada. |
Min(property) |
decimal |
Obtém o valor mínimo da propriedade numérica especificada. |
Max(property) |
decimal |
Obtém o valor máximo da propriedade numérica especificada. |
Average(property) |
decimal |
Calcula a média dos valores da propriedade numérica especificada. |
Count(predicate) |
int |
Retorna a quantidade de elementos que satisfazem o predicado informado. |
Any(predicate) |
bool |
Determina se qualquer elemento satisfaz a condição especificada. |
💡 Exemplos de Uso
using System.Linq;
using QueryableExtensionsLibrary;
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; } = string.Empty;
public decimal Preco { get; set; }
public string Categoria { get; set; } = string.Empty;
}
public class ConsultaService
{
public IQueryable<Produto> FiltrarEOrdenar(IQueryable<Produto> produtos, string campoOrdenacao, bool ascendente, int pagina, int tamanho)
{
return produtos
.Filter("Categoria", "Eletronicos")
.Order(campoOrdenacao, ascendente)
.Page(pagina, tamanho);
}
}
🏛️ Decisões Arquiteturais
Para detalhes sobre a construção das árvores de expressão e considerações de desempenho, consulte:
📄 Licença
Distribuído sob a licença MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TL.QueryableExtensionsLibrary:
| Package | Downloads |
|---|---|
|
TL.ExtensionLibrary.Infrastructure
Clean Architecture Infrastructure metapackage: database querying, resilient HTTP, and assembly scanning extensions, transitively including Application and Domain. |
GitHub repositories
This package is not used by any popular GitHub repositories.