Foundatio.Repositories 7.18.0-beta1

Prefix Reserved
This is a prerelease version of Foundatio.Repositories.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Foundatio.Repositories --version 7.18.0-beta1
                    
NuGet\Install-Package Foundatio.Repositories -Version 7.18.0-beta1
                    
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="Foundatio.Repositories" Version="7.18.0-beta1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Foundatio.Repositories" Version="7.18.0-beta1" />
                    
Directory.Packages.props
<PackageReference Include="Foundatio.Repositories" />
                    
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 Foundatio.Repositories --version 7.18.0-beta1
                    
#r "nuget: Foundatio.Repositories, 7.18.0-beta1"
                    
#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 Foundatio.Repositories@7.18.0-beta1
                    
#: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=Foundatio.Repositories&version=7.18.0-beta1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Foundatio.Repositories&version=7.18.0-beta1&prerelease
                    
Install as a Cake Tool

FoundatioFoundatio

Build status NuGet Version feedz.io Discord

Generic repository contract and implementations. Currently only implemented for Elasticsearch, but there are plans for other implementations.

Features

  • Simple document repository pattern
    • CRUD operations: Add, Save, Remove, Get
  • Supports patch operations
    • JSON patch
    • Partial document patch
    • Painless script patch (Elasticsearch)
    • Can be applied in bulk using queries
  • Async events that can be wired up and listened to outside of the repos
  • Caching (real-time invalidated before save and stored in distributed cache)
  • Message bus support (enables real-time apps sends messages like doc updated up to the client so they know to update the UI)
  • Searchable that works with Foundatio.Parsers lib for dynamic querying, filtering, sorting and aggregations
  • Document validation
  • Document versioning
  • Soft deletes
  • Auto document created and updated dates
  • Document migrations
  • Elasticsearch implementation
    • Plan to add additional implementations (Postgres with Marten would be a good fit)
  • Elasticsearch index configuration allows simpler and more organized configuration
    • Schema versioning
    • Parent child queries
    • Daily and monthly index strategies
  • Supports different consistency models (immediate, wait or eventual)
    • Can be configured at the index type or individual query level
  • Query builders used to make common ways of querying data easier and more portable between repo implementations
  • Can still use raw Elasticsearch queries
  • Field includes and excludes to make the response size smaller
  • Field conditions query builder
  • Paging including snapshot paging support
  • Dynamic field resolution for using friendly names of dynamically generated fields
  • Jobs for index maintenance, snapshots, reindex
  • Strongly typed field access (using lambda expressions) to enable refactoring
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 is compatible.  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 Foundatio.Repositories:

Package Downloads
Foundatio.Repositories.Elasticsearch

Generic Repository implementations for Elasticsearch.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.18.0-beta4 58 2/27/2026
7.18.0-beta3 144 2/14/2026
7.18.0-beta2 100 2/14/2026
7.18.0-beta1 302 1/12/2026
7.17.17 6,531 8/21/2025
7.17.16 324 8/20/2025
7.17.15 506 5/9/2025
7.17.14 833 1/31/2025
7.17.13 753 11/26/2024
7.17.12 913 9/28/2024
7.17.11 467 8/31/2024
7.17.10 226 8/31/2024
7.17.9 8,834 5/20/2024
7.17.8 5,040 3/27/2024
7.17.7 3,569 1/5/2024
7.17.6 1,266 10/26/2023
7.17.5 1,844 8/2/2023
7.17.4 1,551 6/23/2023
7.17.3 8,986 1/1/2023
7.17.2 6,837 5/18/2022
Loading failed