Linq-Expression-Projection
1.0.0
dotnet add package Linq-Expression-Projection --version 1.0.0
NuGet\Install-Package Linq-Expression-Projection -Version 1.0.0
<PackageReference Include="Linq-Expression-Projection" Version="1.0.0" />
<PackageVersion Include="Linq-Expression-Projection" Version="1.0.0" />
<PackageReference Include="Linq-Expression-Projection" />
paket add Linq-Expression-Projection --version 1.0.0
#r "nuget: Linq-Expression-Projection, 1.0.0"
#:package Linq-Expression-Projection@1.0.0
#addin nuget:?package=Linq-Expression-Projection&version=1.0.0
#tool nuget:?package=Linq-Expression-Projection&version=1.0.0
LINQ-Expression-Projection
Project Description
LINQ Expression Projection library provides tool that enable using lambda expressions in LINQ projections (to anonymous and predefined types) even if the lambda expression is not defined in the query but rather is stored in a variable or retrieved via a function or property.
Goal
This library is a tool for development of applications following the DRY principle. It is used to facilitate reuse LINQ expressions. LINQ Expression Projection library provides tool that enable using lambda expressions in LINQ projections (to anonymous and predefined types) even if the lambda expression is not defined in the query but rather is stored in a variable or retrieved via a function or property.
Usage
Refrence LinqExpressionProjection.dll and add using statement:
using LinqExpressionProjection.Test.Model;
Define your projection expression of type Expression<Func<TIn, TOut>>
:
private Expression<Func<Project, double>> averageAreaSelector = p => p.Subprojects.Average(p => p.Area);
In query, call AsExpressionProjectable()
on collection and Project<TOut>()
on the expression:
var projects = (from p in ctx.Projects.AsExpressionProjectable()
select new
{
Project = p,
AverageArea = averageAreaSelector.Project<double>()
}).ToArray();
Make sure the selection expression <TIn>
is of the same type as the projection (Select()
call) lambda parameter
4/2017 migrated from CodePlex, as they are closing down
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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- 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.0 | 505 | 10/21/2020 |