EntityFrameworkCore.Parallel 5.0.2

dotnet add package EntityFrameworkCore.Parallel --version 5.0.2
                    
NuGet\Install-Package EntityFrameworkCore.Parallel -Version 5.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EntityFrameworkCore.Parallel" Version="5.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EntityFrameworkCore.Parallel" Version="5.0.2" />
                    
Directory.Packages.props
<PackageReference Include="EntityFrameworkCore.Parallel" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EntityFrameworkCore.Parallel --version 5.0.2
                    
#r "nuget: EntityFrameworkCore.Parallel, 5.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EntityFrameworkCore.Parallel@5.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EntityFrameworkCore.Parallel&version=5.0.2
                    
Install as a Cake Addin
#tool nuget:?package=EntityFrameworkCore.Parallel&version=5.0.2
                    
Install as a Cake Tool

EntityFrameworkCore.Parallel

This extension to Entity Framework Core adds a Set<TContext, TEntity>() method to IDbContextFactory<TContext>. For easy use it also adds a Parallel() method to IDbContextFactory<TContext> and a Set<TEntity>() method to IDbContextFactory<DbContext>. This allows you to easily execute multiple queries in parallel without the need to write complex code, or a lot of using blocks or statements. You can stick to all your known methods from IQueryable<TEntity>. As the context is disposed after your query is executed, all results will obviously not be tracked and disconnected from any DbContext.

How to use

In your Startup class, add a DbContextfactory. If you want a pooled one, or not is up to you.

services.AddPooledDbContextFactory<OrderContext>(options => options.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=OrderTest"));

In your business class, inject an IDbContextFactory<TContext> and use it like this

var ordersFromDb = await _factory.Parallel().Set<Order>().Where(o => o.Id > 3).ToListAsync(cancellationToken);

Or like this

var ordersFromDb = await _factory.Set<MyContext, Order>().Where(o => o.Id > 3).ToListAsync(cancellationToken);

Migration from Entity Framework Core 5 to 6

Since Entity Framework Core 6, IDbContextFactory<TContext> is no longer covariant (TContext is not marked with the out keyword). Because of that, the following code does no longer work.

var ordersFromDb = await _factory.Set<Order>().Where(o => o.Id > 3).ToListAsync();

See the How to use section for two possibilities that you can use instead. If you want some background information, have a look at https://github.com/dotnet/efcore/issues/26630

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EntityFrameworkCore.Parallel:

Package Downloads
RESTworld.Business

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.2 180 6/19/2025
5.0.1 460 1/28/2025
5.0.0 352 11/19/2024
4.1.1 2,217 10/11/2024
4.1.0 2,857 9/20/2024
4.0.5 891 7/10/2024
4.0.4 284 6/4/2024
4.0.3 153 5/24/2024
4.0.2 688 4/19/2024
4.0.1 1,931 1/9/2024
4.0.0 682 11/14/2023
3.0.9 457 10/23/2023
3.0.8 459 9/5/2023
3.0.7 498 7/17/2023
3.0.6 427 6/28/2023
3.0.5 1,073 6/14/2023
3.0.4 842 4/18/2023
3.0.3 793 2/22/2023
3.0.2 442 2/9/2023
3.0.1 928 12/21/2022
3.0.0 1,220 11/9/2022
2.2.0 3,393 10/20/2022
2.1.0 2,268 6/28/2022
2.0.3 2,828 5/13/2022
2.0.2 3,757 3/9/2022
2.0.1 2,349 2/22/2022
2.0.0 3,180 12/1/2021
1.0.2 1,131 11/4/2021
1.0.1 2,976 9/7/2021
1.0.0 2,435 11/24/2020