Qanx.Linq.Extensions
1.0.2
dotnet add package Qanx.Linq.Extensions --version 1.0.2
NuGet\Install-Package Qanx.Linq.Extensions -Version 1.0.2
<PackageReference Include="Qanx.Linq.Extensions" Version="1.0.2" />
<PackageVersion Include="Qanx.Linq.Extensions" Version="1.0.2" />
<PackageReference Include="Qanx.Linq.Extensions" />
paket add Qanx.Linq.Extensions --version 1.0.2
#r "nuget: Qanx.Linq.Extensions, 1.0.2"
#:package Qanx.Linq.Extensions@1.0.2
#addin nuget:?package=Qanx.Linq.Extensions&version=1.0.2
#tool nuget:?package=Qanx.Linq.Extensions&version=1.0.2
Qanx.Linq.Extensions
System.Linq Extension, You can use LINQ where in a fluent way, and we also provide an extension of paging query.
If you have a query condition and you are not sure it will have value, You can use Whereif, It will judge whether the value of the query condition is empty. If the value of the query condition is not empty or null, It will process your query according to the query criteria you refer to.
bool? isClearance = null;
var query = _dbContext.Tradings.AsNoTracking()
.WhereIf(isClearance, d => d.IsClearance)
.Select(d => new TradingDto()
{
Id = d.Id,
Name = d.Name,
Code = d.Code,
HoldingDateTime = d.HoldingDateTime
}).OrderByDescending(d => d.Id);
LINQ based query is so simple, elegant and fluent. You can also use our paging function, It is extended based on IOrderedqueryable, You can use it like this:
int pageIndex = 1;
int pageSize = 10;
var result = await query.ToPagedListAsync(pageIndex, pageSize);
We also provide a non asynchronous way:
var result = query.ToPagedList(pageIndex, pageSize);
If you need to deal with the results of paging queries in a special way, You can do this(The premise is that you must introduce namespacesQanx.Linq.Extensions):
var result = query.ToPagedList(pageIndex, pageSize)
.ForEach(item =>
{
item.Name = "prefix_" + item.Name;
item.Code = item.Code.ToString();
item.HoldingDateTimeStr = item.HoldingDateTime.ToString("yyyy-MM-dd HH:mm");
});
You can also use asynchronous methodsForEachAsync.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2 | 632 | 5/1/2022 |
| 1.0.1 | 583 | 4/30/2022 |
| 1.0.1-preview.1 | 252 | 4/30/2022 |
| 1.0.0 | 590 | 4/29/2022 |