EntityFrameworkIncludeBuilder 5.0.0
dotnet add package EntityFrameworkIncludeBuilder --version 5.0.0
NuGet\Install-Package EntityFrameworkIncludeBuilder -Version 5.0.0
<PackageReference Include="EntityFrameworkIncludeBuilder" Version="5.0.0" />
paket add EntityFrameworkIncludeBuilder --version 5.0.0
#r "nuget: EntityFrameworkIncludeBuilder, 5.0.0"
// Install EntityFrameworkIncludeBuilder as a Cake Addin
#addin nuget:?package=EntityFrameworkIncludeBuilder&version=5.0.0
// Install EntityFrameworkIncludeBuilder as a Cake Tool
#tool nuget:?package=EntityFrameworkIncludeBuilder&version=5.0.0
EntityFrameworkIncludeBuilder
EntityFrameworkIncludeBuilder
is an Entity Framework Core extension that provides the ability to build a dynamically Include/ThenInclude
chain.
Usage
1. Define repository method.
We add a method which provides the ability to get all items of TEntity
type and specify all necessary navigation properties. The user can specify only those navigation properties that he will use.
// ...
using EntityFrameworkIncludeBuilder;
// ...
{
// ...
public IEnumerable<TEntity> GetAll<TEntity>(
Expression<Func<IEnumerable<TEntity>,
ILoadCollection<TEntity, object>>> includes = null)
{
var query = Table.AsQueryable(); // DbSet<TEntity>
return includes == null
? query
: query.Include(includes);
}
// ...
}
2. Sample
//...
var items = _repository
.GetAll(collection => collection.Load(x => x.Property1)
.Load(x => x.Collection1)
.ThenLoad(x => x.Property2)
.ThenLoad(x => x.Property3));
//...
Contribute
One of the easiest ways to contribute is to report issues and participate in discussions on issues. You can also contribute by submitting pull requests with code changes and supporting tests.
License
Donation
If this project help you reduce time to develop, you can give me a cup of coffee 😃
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. |
.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
- Microsoft.EntityFrameworkCore (>= 5.0.3)
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 |
---|