EfCore.SoftDeleteServices 8.0.0

dotnet add package EfCore.SoftDeleteServices --version 8.0.0
NuGet\Install-Package EfCore.SoftDeleteServices -Version 8.0.0
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="EfCore.SoftDeleteServices" Version="8.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EfCore.SoftDeleteServices --version 8.0.0
#r "nuget: EfCore.SoftDeleteServices, 8.0.0"
#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 EfCore.SoftDeleteServices as a Cake Addin
#addin nuget:?package=EfCore.SoftDeleteServices&version=8.0.0

// Install EfCore.SoftDeleteServices as a Cake Tool
#tool nuget:?package=EfCore.SoftDeleteServices&version=8.0.0

EfCore.SoftDeleteServices

This library to provide simple soft delete and cascade soft delete in EF Core. It provides:

  • Useful methods: The features in this library are:
    • Set the SoftDeleted flag on an entity class, with checks.
    • Provides a secure query to find all the Soft Deleted entities for a specific entity class.
    • Reset the SoftDeleted flag on an entity class, which checks.
    • Hard delete (i.e. call EF Core Remove method) a entity class, but only if it is already Soft Deleted.
      NOTE: Methods can work with entity instance, or found via primary keys. Also has sync and async versions of all methods.
  • Cascade Soft Delete: This library has a service that can mimic the database cascade delete, but Soft Deleting the entities. For instance, Cascade Soft Deleting a Company could also soft delete dependent relationships (see image below).
  • Keeps your data secure: This library can handle Query Filters that contain multiple parts to the filter, e.g. Soft Delete with a multi-tenant filter. It builds queries that will replace the other filters so that your data stays secure.
  • Fully configurable: It works with your properties and interfaces. The only rule it has is your Soft Delete property must provide true/false value (normally a 'bool', but could be part of enum status, etc.), or for the cascade delete it must provide a byte value.
  • DI-friendly: This library is designed to work with dependency injection (DI) and contains a method which will scan for your Soft Delete configuration files and set up all the services you need to use this library.

MIT License. Documentation can be found in the Repo's Wiki. NuGet available at EfCore.SoftDeleteServices.

List of versions and which .NET framework they support

  • Version 8.0.0: supports NET 8 only (simpler to update to next NET release)
  • Version 4.?.?: Supports NET 6, 7 and 8
  • Version 3.?.?: Supports NET 6 and 7

There are older versions of the EfCore.TestSupport library, but .NET lower than .NET 5 are not supported by Microsoft.

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on EfCore.SoftDeleteServices:

Package Downloads
Xswift.EntityFrameworkCore

Provides Implementations of the datasource abstraction that belongs to the XSwift frameworks. the implementations are based on the Entity framework core.

Homox

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0 59 4/10/2024
4.0.0 1,068 11/22/2023
3.1.0 16,571 12/7/2022
2.0.2 8,820 6/18/2022
2.0.1 16,171 3/4/2022
2.0.0 3,321 11/10/2021
2.0.0-preview001 169 11/2/2021
1.1.3 1,947 3/13/2021
1.1.2 979 1/25/2021
1.1.1 781 1/22/2021
1.1.0 779 1/12/2021
1.0.0 1,819 1/9/2021
1.0.0-preview004 631 1/8/2021
1.0.0-preview003 623 1/8/2021
1.0.0-preview002 645 1/8/2021
1.0.0-preview001 656 1/8/2021

Only supports .NET 8 - This makes it easier to update for future NET releases