minhsangdotcom.TheTemplate.SpecificationPattern 1.0.9

dotnet add package minhsangdotcom.TheTemplate.SpecificationPattern --version 1.0.9
                    
NuGet\Install-Package minhsangdotcom.TheTemplate.SpecificationPattern -Version 1.0.9
                    
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="minhsangdotcom.TheTemplate.SpecificationPattern" Version="1.0.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="minhsangdotcom.TheTemplate.SpecificationPattern" Version="1.0.9" />
                    
Directory.Packages.props
<PackageReference Include="minhsangdotcom.TheTemplate.SpecificationPattern" />
                    
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 minhsangdotcom.TheTemplate.SpecificationPattern --version 1.0.9
                    
#r "nuget: minhsangdotcom.TheTemplate.SpecificationPattern, 1.0.9"
                    
#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 minhsangdotcom.TheTemplate.SpecificationPattern@1.0.9
                    
#: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=minhsangdotcom.TheTemplate.SpecificationPattern&version=1.0.9
                    
Install as a Cake Addin
#tool nuget:?package=minhsangdotcom.TheTemplate.SpecificationPattern&version=1.0.9
                    
Install as a Cake Tool

Specification.Abstractions

A lightweight, provider-agnostic Specification pattern abstraction for .NET.

This package defines the core specification model, expression metadata, and cache metadata types

⚠️ This package does NOT include an evaluator.
The EF Core-enabled evaluator lives in a separate package (e.g., TranMinhSang.Specification.EntityFrameworkCore).

📖 Basic Usage

public class ListUserSpecification : Specification<User>
{
    public ListUserSpecification(DateTime startDate, DateTime endTime, Gender gender)
    {
        Query
            .Where(x => x.DateOfBirth >= startDate && x.DateOfBirth <= endTime)
            .Where(x => x.Gender == gender)
            .AsNoTracking();
    }
}
public class ListUserSpecification : Specification<User>
{
    public ListUserSpecification(string term, int page, int pageSize)
    {
        Query
            .Include(x => x.Roles)
            .Where(x => x.FirstName.Contains(term))
            .OrderBy(x => x.CreatedAt)
            .Skip((page - 1) * pageSize)
            .Take(pageSize)
            .AsNoTracking()
            .AsSplitQuery();
    }
}
public class ListUserSpecification : Specification<User>
{
    public ListUserSpecification(string term)
    {
        Query.Where(x => x.FirstName.Contains(term)).AsNoTracking();

        string key = SpecificationCacheKeyGenerator.Create(this, term);
        Query.EnableCache(key);
    }
}

Product 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.  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.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on minhsangdotcom.TheTemplate.SpecificationPattern:

Package Downloads
TranMinhSang.Specification.EntityFrameworkCore

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on minhsangdotcom.TheTemplate.SpecificationPattern:

Repository Stars
minhsangdotcom/clean-architecture
Clean Architecture template for .NET 🚀
Version Downloads Last Updated
1.0.9 135 2/24/2026
1.0.8 445 12/8/2025
1.0.6 209 12/5/2025
1.0.5 248 11/25/2025
1.0.4 268 6/20/2025
1.0.3 313 6/4/2025
1.0.2-alpha 261 4/2/2025
1.0.1 275 3/10/2025
1.0.0 243 3/10/2025