Menistar.EntityFrameworkCore.SoftDelete
5.0.1-beta
See the version list below for details.
dotnet add package Menistar.EntityFrameworkCore.SoftDelete --version 5.0.1-beta
NuGet\Install-Package Menistar.EntityFrameworkCore.SoftDelete -Version 5.0.1-beta
<PackageReference Include="Menistar.EntityFrameworkCore.SoftDelete" Version="5.0.1-beta" />
<PackageVersion Include="Menistar.EntityFrameworkCore.SoftDelete" Version="5.0.1-beta" />
<PackageReference Include="Menistar.EntityFrameworkCore.SoftDelete" />
paket add Menistar.EntityFrameworkCore.SoftDelete --version 5.0.1-beta
#r "nuget: Menistar.EntityFrameworkCore.SoftDelete, 5.0.1-beta"
#:package Menistar.EntityFrameworkCore.SoftDelete@5.0.1-beta
#addin nuget:?package=Menistar.EntityFrameworkCore.SoftDelete&version=5.0.1-beta&prerelease
#tool nuget:?package=Menistar.EntityFrameworkCore.SoftDelete&version=5.0.1-beta&prerelease
Enable soft delete for DbContext
Enable the soft delete extention for a DbContext by calling the extention method UseSoftDelete in the constructor of the DbContext. Because extention methods are only available on object instance you have to use this.
public class ApplicationDbContext : DbContext
{
public ApplicationDbContextDbContextOptions<ApplicationDbContext> options)
: base(options)
{
this.UseSoftDelete();
}
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public DbSet<Comment> Comments { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
Configure soft delete for a entity type
Soft delete must be configured for every specific entity in the model by calling the extention method HasSoftDelete on the entity builder. The method contains overloads to change the default name used for the shadow property or to use a specific property of the entity. The type of the property must be DateTime?.
public class ApplicationDbContext : DbContext
{
public ApplicationDbContextDbContextOptions<ApplicationDbContext> options)
: base(options)
{
this.UseSoftDelete();
}
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public DbSet<Comment> Comments { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Configure soft delete for blogs using the default shadow property.
builder.Entity<Blog>()
.HasSoftDelete();
// Configure soft delete for posts by specifying the name of the shadow property to use.
builder.Entity<Post>
.HasSoftDelete("DeleteAt");
// Configure soft delete for comments by specifying a property of type DateTime? on the Comment entity to use.
builder.Entity<Comment>
.HasSoftDelete(c => c.DeletedAt);
}
}
(Optional) Add a migration containing the changes to your model
dotnet ef migrations add AddSoftDelete
or
Add-Migration AddBlogCreatedTimestamp
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.EntityFrameworkCore (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.