SQLQueryOptimizer.EntityFramework
1.0.1
dotnet add package SQLQueryOptimizer.EntityFramework --version 1.0.1
NuGet\Install-Package SQLQueryOptimizer.EntityFramework -Version 1.0.1
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="SQLQueryOptimizer.EntityFramework" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SQLQueryOptimizer.EntityFramework" Version="1.0.1" />
<PackageReference Include="SQLQueryOptimizer.EntityFramework" />
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 SQLQueryOptimizer.EntityFramework --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SQLQueryOptimizer.EntityFramework, 1.0.1"
#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 SQLQueryOptimizer.EntityFramework@1.0.1
#: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=SQLQueryOptimizer.EntityFramework&version=1.0.1
#tool nuget:?package=SQLQueryOptimizer.EntityFramework&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Advanced SQL Query Optimizer for .NET
A powerful library for optimizing SQL queries in .NET applications. This package helps developers identify and fix performance issues in their SQL queries.
Features
- Query Analysis: Automatically detects common SQL anti-patterns and performance issues
- Optimization Suggestions: Provides detailed suggestions to improve query performance
- Index Recommendations: Analyzes execution plans to suggest missing indexes
- Performance Benchmarking: Measures and compares query performance
- Integration with Popular ORMs: Works with Entity Framework Core and Dapper
Installation
# Install the core package
dotnet add package SQLQueryOptimizer.Core
# For Entity Framework Core integration
dotnet add package SQLQueryOptimizer.EntityFramework
# For Dapper integration
dotnet add package SQLQueryOptimizer.Dapper
Basic Usage
// Register services in DI container
services.AddSqlQueryOptimizer();
// Analyze a SQL query
var result = await queryAnalyzer.AnalyzeQueryAsync(
"SELECT * FROM Products WHERE CategoryId = 1",
connectionString);
// View optimization suggestions
foreach (var suggestion in result.Suggestions)
{
Console.WriteLine($"{suggestion.Title}: {suggestion.Description}");
}
// View index recommendations
foreach (var index in result.IndexRecommendations)
{
Console.WriteLine($"Create index on {index.TableName}: {index.CreateIndexStatement}");
}
// Benchmark a query
var metrics = await queryAnalyzer.BenchmarkQueryAsync(
"SELECT * FROM Products WHERE CategoryId = 1",
connectionString,
iterations: 5);
Console.WriteLine($"Average execution time: {metrics.ExecutionTimeMs} ms");
Entity Framework Core Integration
// Analyze an EF Core query
var query = dbContext.Products.Where(p => p.CategoryId == 1);
var result = await query.AnalyzeAsync(queryAnalyzer);
Dapper Integration
// Analyze a Dapper query
var sql = "SELECT * FROM Products WHERE CategoryId = @categoryId";
var result = await connection.AnalyzeQueryAsync(sql, queryAnalyzer);
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Microsoft.EntityFrameworkCore (>= 7.0.5)
- Microsoft.EntityFrameworkCore.Relational (>= 7.0.5)
- Microsoft.EntityFrameworkCore.SqlServer (>= 7.0.5)
- SQLQueryOptimizer.Core (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.