PgHintPlan.EntityFrameworkCore
0.0.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package PgHintPlan.EntityFrameworkCore --version 0.0.3
NuGet\Install-Package PgHintPlan.EntityFrameworkCore -Version 0.0.3
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="PgHintPlan.EntityFrameworkCore" Version="0.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PgHintPlan.EntityFrameworkCore --version 0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PgHintPlan.EntityFrameworkCore, 0.0.3"
#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.
// Install PgHintPlan.EntityFrameworkCore as a Cake Addin #addin nuget:?package=PgHintPlan.EntityFrameworkCore&version=0.0.3 // Install PgHintPlan.EntityFrameworkCore as a Cake Tool #tool nuget:?package=PgHintPlan.EntityFrameworkCore&version=0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PgHintPlan
Getting Started
Run
dotnet add package PgHintPlan.EntityFrameworkCore
Import the library
using PgHintPlan.EntityFrameworkCore;
Enable the extension
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.UsePgHintPlan();
}
Configure the connection
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UsePgHintPlan();
optionsBuilder.UseNpgsql();
}
Disable Hash Join
var items = await ctx.Items.EnableHashJoin(false).ToListAsync();
Force nested loop for the joins on the tables
var DATA = await ctx.Products
.Join(ctx.Items,
(p) => p.Id,
(i) => i.ProductId,
(p, i) => new
{
ProductId = p.Id,
Id = i.Id
})
.NestLoop(ctx.Items.EntityType, ctx.Products.EntityType)
.ToListAsync();
Force index scan on the table
var index = ctx.Items.EntityType.GetIndexes().FirstOrDefault();
var items = await ctx.Items.IndexScan(ctx.Items.EntityType,index).ToListAsync();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 8.0.0)
- PgHintPlan (>= 0.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.