diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 545c966..d1d20cd 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,7 +5,7 @@ on:
release:
types:
- published
-
+
env:
# Stop wasting time caching packages
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
@@ -15,42 +15,33 @@ env:
GITHUB_FEED: https://nuget.pkg.github.com/koenbeuk/
GITHUB_USER: koenbeuk
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
+
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
- version: [1, 2, 3]
- include:
- - version: 1
- configuration: ReleaseV1
- - version: 2
- configuration: ReleaseV2
- - version: 3
- configuration: Release
- runs-on: ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Setup .NET Core
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v4
with:
- dotnet-version: 6.0.x
- include-prerelease: True
+ global-json-file: global.json
- name: Install dependencies
- run: dotnet restore EntityFrameworkCore.Triggered.sln -p:Configuration=${{ matrix.configuration }}
+ run: dotnet restore EntityFrameworkCore.Triggered.sln -p:Configuration=Release
- name: Build
- run: dotnet build --configuration ${{ matrix.configuration }} --no-restore EntityFrameworkCore.Triggered.sln
+ run: dotnet build --configuration Release --no-restore EntityFrameworkCore.Triggered.sln
- name: Test
- run: dotnet test --configuration ${{ matrix.configuration }} --verbosity normal EntityFrameworkCore.Triggered.sln
+ run: dotnet test --configuration Release --verbosity normal EntityFrameworkCore.Triggered.sln
- name: Pack
if: matrix.os == 'ubuntu-latest'
- run: |
- dotnet pack -v normal --configuration ${{ matrix.configuration }} --include-symbols --include-source -p:PackageVersion=${{ matrix.version }}-pre-$GITHUB_RUN_ID -o nupkg EntityFrameworkCore.Triggered.Core.slnf
+ run: |
+ dotnet pack -v normal --configuration Release --include-symbols --include-source -p:PackageVersion=3-pre-$GITHUB_RUN_ID -o nupkg EntityFrameworkCore.Triggered.Core.slnf
- name: Upload Artifact
if: matrix.os == 'ubuntu-latest'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: nupkg
path: ./nupkg/*.nupkg
@@ -59,32 +50,32 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
- runs-on: ${{ matrix.os }}
-
+ runs-on: ${{ matrix.os }}
+
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Setup .NET Core
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v4
with:
- dotnet-version: 6.0.x
- include-prerelease: True
+ global-json-file: global.json
- name: Install dependencies
run: dotnet restore EntityFrameworkCore.Triggered.Samples.slnf
- name: Build
- run: dotnet build --configuration Release --no-restore EntityFrameworkCore.Triggered.Samples.slnf
-
+ run: dotnet build --configuration Release --no-restore EntityFrameworkCore.Triggered.Samples.slnf
+
prerelease:
needs: build
- if: github.ref == 'refs/heads/master'
+ if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Download Artifact
- uses: actions/download-artifact@v1
+ uses: actions/download-artifact@v4
with:
name: nupkg
+ path: nupkg
- name: Push to GitHub Feed
run: |
for f in ./nupkg/*.nupkg
do
dotnet nuget push $f --source $GITHUB_FEED --api-key ${{github.token}} --skip-duplicate --no-symbols
- done
+ done
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3bde8a6..a5a720a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,7 +3,7 @@ on:
release:
types:
- published
-
+
env:
# Stop wasting time caching packages
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
@@ -16,27 +16,24 @@ env:
# Official NuGet Feed settings
NUGET_FEED: https://api.nuget.org/v3/index.json
NUGET_KEY: ${{ secrets.NUGET_KEY }}
-
+
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Setup .NET Core
- uses: actions/setup-dotnet@v1
+ uses: actions/setup-dotnet@v4
with:
- dotnet-version: 6.0.x
+ global-json-file: global.json
- name: Create Release NuGet package
run: |
arrTag=(${GITHUB_REF//\// })
VERSION="${arrTag[2]}"
echo Version: $VERSION
- CONFIGURATION=$([ "${VERSION:0:2}" == "v1" ] && echo "ReleaseV1" || echo "Release")
- CONFIGURATION=$([ "${VERSION:0:2}" == "v2" ] && echo "ReleaseV2" || echo $CONFIGURATION)
VERSION="${VERSION:1}"
echo Clean Version: $VERSION
- echo Configuration: $CONFIGURATION
- dotnet pack -v normal -c $CONFIGURATION --include-symbols --include-source -p:PackageVersion=$VERSION -o nupkg EntityFrameworkCore.Triggered.Core.slnf
+ dotnet pack -v normal -c Release --include-symbols --include-source -p:PackageVersion=$VERSION -o nupkg EntityFrameworkCore.Triggered.Core.slnf
- name: Push to GitHub Feed
run: |
for f in ./nupkg/*.nupkg
@@ -48,4 +45,4 @@ jobs:
for f in ./nupkg/*.nupkg
do
dotnet nuget push $f --source $NUGET_FEED --skip-duplicate --api-key $NUGET_KEY
- done
+ done
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 689cf75..00c9bc8 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,31 +1,24 @@
-
- true
- 9.0
- enable
- true
- Debug;Release
- README.md
-
+
+ 12
+ enable
+ true
+ true
+ README.md
+
-
- Triggers for EF Core. Respond to changes in your ApplicationDbContext before and after they are committed to the database
- Git
- https://github.com/koenbeuk/EntityFrameworkCore.Triggered
- Koen Bekkenutte
- EntityFramework;EFCore;Triggers;SQLServer;SqlLite;CosmosDb;.NET Core;aspnetcore
- https://github.com/koenbeuk/EntityFrameworkCore.Triggered
-
-
-
- 3
- 6.0.0
- 6.0.0
-
+
+ Triggers for EF Core. Respond to changes in your ApplicationDbContext before and after they are committed to the database
+ Git
+ https://github.com/koenbeuk/EntityFrameworkCore.Triggered
+ Koen Bekkenutte
+ EntityFramework;EFCore;Triggers;SQLServer;SqlLite;CosmosDb;.NET Core;aspnetcore
+ https://github.com/koenbeuk/EntityFrameworkCore.Triggered
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 0000000..8788e55
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,33 @@
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EntityFrameworkCore.Triggered.sln b/EntityFrameworkCore.Triggered.sln
index db3c390..d1193e9 100644
--- a/EntityFrameworkCore.Triggered.sln
+++ b/EntityFrameworkCore.Triggered.sln
@@ -4,8 +4,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00
VisualStudioVersion = 17.0.31710.8
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{EDFABD48-3C79-47AE-B84C-47CE2A52C20D}"
+ ProjectSection(SolutionItems) = preProject
+ src\Directory.Build.props = src\Directory.Build.props
+ EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0FAE4F6A-93BB-453C-8FB4-B24A9F30DA59}"
+ ProjectSection(SolutionItems) = preProject
+ test\Directory.Build.props = test\Directory.Build.props
+ EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Solution Items", "_Solution Items", "{CA7737C4-0D3C-4B81-B34C-B4812B54C018}"
ProjectSection(SolutionItems) = preProject
@@ -13,6 +19,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Solution Items", "_Solutio
Directory.Build.props = Directory.Build.props
LICENSE.md = LICENSE.md
README.md = README.md
+ Directory.Packages.props = Directory.Packages.props
+ global.json = global.json
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EntityFrameworkCore.Triggered.Abstractions", "src\EntityFrameworkCore.Triggered.Abstractions\EntityFrameworkCore.Triggered.Abstractions.csproj", "{B338AEB6-4D18-4069-AE00-9A1E33C638F4}"
@@ -47,6 +55,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "3 - StudentManagerAspNetCor
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "4 - BlazorTests", "samples\4 - BlazorTests\4 - BlazorTests.csproj", "{C764B357-8ABE-483E-BA1D-EC05ED689691}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Github", "_Github", "{BCBB4711-7968-44C0-81BD-C848FF4FBAB8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{46951DC8-925A-4542-99FC-2C2B3E00A997}"
+ ProjectSection(SolutionItems) = preProject
+ .github\workflows\build.yml = .github\workflows\build.yml
+ .github\workflows\release.yml = .github\workflows\release.yml
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -244,6 +260,7 @@ Global
{6139FBAB-0224-42ED-8DAF-54ED1F3E8C5B} = {FB5C3BC0-5036-4DD6-85E2-E2B05ECAC40C}
{6D1D3A38-523A-44A8-A3F9-B78E34706B37} = {FB5C3BC0-5036-4DD6-85E2-E2B05ECAC40C}
{C764B357-8ABE-483E-BA1D-EC05ED689691} = {FB5C3BC0-5036-4DD6-85E2-E2B05ECAC40C}
+ {46951DC8-925A-4542-99FC-2C2B3E00A997} = {BCBB4711-7968-44C0-81BD-C848FF4FBAB8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {847A0017-23D6-4513-B78E-CAADBD836A7D}
diff --git a/benchmarks/EntityFrameworkCore.Triggered.Benchmarks/EntityFrameworkCore.Triggered.Benchmarks.csproj b/benchmarks/EntityFrameworkCore.Triggered.Benchmarks/EntityFrameworkCore.Triggered.Benchmarks.csproj
index 1dd0e35..e25dc65 100644
--- a/benchmarks/EntityFrameworkCore.Triggered.Benchmarks/EntityFrameworkCore.Triggered.Benchmarks.csproj
+++ b/benchmarks/EntityFrameworkCore.Triggered.Benchmarks/EntityFrameworkCore.Triggered.Benchmarks.csproj
@@ -1,6 +1,6 @@
- net6.0
+ net10.0
Exe
@@ -12,8 +12,8 @@
Release
-
-
+
+
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..ba3d147
--- /dev/null
+++ b/global.json
@@ -0,0 +1,6 @@
+{
+ "sdk": {
+ "version": "10.0.100",
+ "rollForward": "latestMinor"
+ }
+}
\ No newline at end of file
diff --git a/samples/1 - HelloWorld/1 - HelloWorld.csproj b/samples/1 - HelloWorld/1 - HelloWorld.csproj
index 3434bc4..8560c39 100644
--- a/samples/1 - HelloWorld/1 - HelloWorld.csproj
+++ b/samples/1 - HelloWorld/1 - HelloWorld.csproj
@@ -1,15 +1,18 @@
-
- Exe
- net6.0
- HelloWorld
- disable
-
-
-
-
-
-
-
-
+
+ Exe
+ net10.0
+ HelloWorld
+ disable
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/1 - HelloWorld/Triggers/StudentAssignRegistrationDate.cs b/samples/1 - HelloWorld/Triggers/StudentAssignRegistrationDate.cs
index 804269b..8047c02 100644
--- a/samples/1 - HelloWorld/Triggers/StudentAssignRegistrationDate.cs
+++ b/samples/1 - HelloWorld/Triggers/StudentAssignRegistrationDate.cs
@@ -5,9 +5,9 @@
namespace PrimarySchool.Triggers
{
- public class StudentAssignRegistrationDate : IBeforeSaveTrigger
+ public class StudentAssignRegistrationDate : IBeforeSaveAsyncTrigger
{
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
if (context.ChangeType == ChangeType.Added)
{
diff --git a/samples/2 - PrimarySchool/2 - PrimarySchool.csproj b/samples/2 - PrimarySchool/2 - PrimarySchool.csproj
index ced6050..6a52d90 100644
--- a/samples/2 - PrimarySchool/2 - PrimarySchool.csproj
+++ b/samples/2 - PrimarySchool/2 - PrimarySchool.csproj
@@ -1,15 +1,18 @@
-
- Exe
- net6.0
- PrimarySchool
- disable
-
-
-
-
-
-
-
-
+
+ Exe
+ net10.0
+ PrimarySchool
+ disable
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/2 - PrimarySchool/Triggers/StudentSignupToMandatoryCourses.cs b/samples/2 - PrimarySchool/Triggers/StudentSignupToMandatoryCourses.cs
index 63bf1ca..b042f03 100644
--- a/samples/2 - PrimarySchool/Triggers/StudentSignupToMandatoryCourses.cs
+++ b/samples/2 - PrimarySchool/Triggers/StudentSignupToMandatoryCourses.cs
@@ -5,7 +5,7 @@
namespace PrimarySchool.Triggers
{
- public class StudentSignupToMandatoryCourses : IBeforeSaveTrigger
+ public class StudentSignupToMandatoryCourses : IBeforeSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
@@ -14,7 +14,7 @@ public StudentSignupToMandatoryCourses(ApplicationDbContext applicationContext)
_applicationContext = applicationContext;
}
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
var mandatoryCourses = _applicationContext.Courses
.Where(x => x.IsMandatory)
diff --git a/samples/3 - StudentManagerAspNetCore/3 - StudentManagerAspNetCore.csproj b/samples/3 - StudentManagerAspNetCore/3 - StudentManagerAspNetCore.csproj
index 81a49c0..a961699 100644
--- a/samples/3 - StudentManagerAspNetCore/3 - StudentManagerAspNetCore.csproj
+++ b/samples/3 - StudentManagerAspNetCore/3 - StudentManagerAspNetCore.csproj
@@ -1,14 +1,17 @@
-
- net6.0
- StudentManager
- disable
-
-
-
-
-
-
-
-
+
+ net10.0
+ StudentManager
+ disable
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/Courses/AutoSignupStudents.cs b/samples/3 - StudentManagerAspNetCore/Triggers/Courses/AutoSignupStudents.cs
index 0154d29..5352135 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/Courses/AutoSignupStudents.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/Courses/AutoSignupStudents.cs
@@ -6,7 +6,7 @@
namespace StudentManager.Triggers.Courses
{
- public class AutoSignupStudents : IBeforeSaveTrigger
+ public class AutoSignupStudents : IBeforeSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
@@ -15,7 +15,7 @@ public AutoSignupStudents(ApplicationDbContext applicationContext)
_applicationContext = applicationContext;
}
- public async Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public async Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
if (context.Entity.IsMandatory)
{
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/BlockRemovalWhenCourseIsMandatory.cs b/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/BlockRemovalWhenCourseIsMandatory.cs
index 8013f31..673bd73 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/BlockRemovalWhenCourseIsMandatory.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/BlockRemovalWhenCourseIsMandatory.cs
@@ -5,7 +5,7 @@
namespace StudentManager.Triggers.StudentCourses
{
- public class BlockRemovalWhenCourseIsMandatory : IBeforeSaveTrigger
+ public class BlockRemovalWhenCourseIsMandatory : IBeforeSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
@@ -14,7 +14,7 @@ public BlockRemovalWhenCourseIsMandatory(ApplicationDbContext applicationContext
_applicationContext = applicationContext;
}
- public async Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public async Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
if (context.ChangeType == ChangeType.Deleted)
{
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/SendWelcomingEmail.cs b/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/SendWelcomingEmail.cs
index d13c188..941291b 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/SendWelcomingEmail.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/StudentCourses/SendWelcomingEmail.cs
@@ -5,7 +5,7 @@
namespace StudentManager.Triggers.StudentCourses
{
- public class SendWelcomingEmail : IAfterSaveTrigger
+ public class SendWelcomingEmail : IAfterSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
readonly EmailService _emailService;
@@ -16,7 +16,7 @@ public SendWelcomingEmail(ApplicationDbContext applicationContext, EmailService
_emailService = emailService;
}
- public async Task AfterSave(ITriggerContext context, CancellationToken cancellationToken)
+ public async Task AfterSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
var student = await _applicationContext.Students.FindAsync(new object[] { context.Entity.StudentId }, cancellationToken);
var course = await _applicationContext.Courses.FindAsync(new object[] { context.Entity.CourseId }, cancellationToken);
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/Students/AssignRegistrationDate.cs b/samples/3 - StudentManagerAspNetCore/Triggers/Students/AssignRegistrationDate.cs
index 025d1d7..70d0be3 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/Students/AssignRegistrationDate.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/Students/AssignRegistrationDate.cs
@@ -5,9 +5,9 @@
namespace StudentManager.Triggers.Students
{
- public class AssignRegistrationDate : IBeforeSaveTrigger
+ public class AssignRegistrationDate : IBeforeSaveAsyncTrigger
{
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
context.Entity.RegistrationDate = DateTime.Today;
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/Students/SignupToMandatoryCourses.cs b/samples/3 - StudentManagerAspNetCore/Triggers/Students/SignupToMandatoryCourses.cs
index ba20025..9baea35 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/Students/SignupToMandatoryCourses.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/Students/SignupToMandatoryCourses.cs
@@ -6,7 +6,7 @@
namespace StudentManager.Triggers.Students
{
- public class SignupToMandatoryCourses : IBeforeSaveTrigger
+ public class SignupToMandatoryCourses : IBeforeSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
@@ -15,7 +15,7 @@ public SignupToMandatoryCourses(ApplicationDbContext applicationContext)
_applicationContext = applicationContext;
}
- public async Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public async Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
var mandatoryCourses = await _applicationContext.Courses
.Where(x => x.IsMandatory)
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/Traits/Audited/CreateAuditRecord.cs b/samples/3 - StudentManagerAspNetCore/Triggers/Traits/Audited/CreateAuditRecord.cs
index 9197864..ee8b9cc 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/Traits/Audited/CreateAuditRecord.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/Traits/Audited/CreateAuditRecord.cs
@@ -8,7 +8,7 @@
namespace StudentManager.Triggers.Traits.Audited
{
- public class CreateAuditRecord : IBeforeSaveTrigger
+ public class CreateAuditRecord : IBeforeSaveAsyncTrigger
{
private readonly ApplicationDbContext _applicationContext;
@@ -17,7 +17,7 @@ public CreateAuditRecord(ApplicationDbContext applicationContext)
_applicationContext = applicationContext;
}
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
var recordBuilder = new StringBuilder();
diff --git a/samples/3 - StudentManagerAspNetCore/Triggers/Traits/SoftDelete/EnsureSoftDelete.cs b/samples/3 - StudentManagerAspNetCore/Triggers/Traits/SoftDelete/EnsureSoftDelete.cs
index d61e2a9..bda5cd2 100644
--- a/samples/3 - StudentManagerAspNetCore/Triggers/Traits/SoftDelete/EnsureSoftDelete.cs
+++ b/samples/3 - StudentManagerAspNetCore/Triggers/Traits/SoftDelete/EnsureSoftDelete.cs
@@ -6,7 +6,7 @@
namespace StudentManager.Triggers.Traits.SoftDelete
{
- class EnsureSoftDelete : IBeforeSaveTrigger
+ class EnsureSoftDelete : IBeforeSaveAsyncTrigger
{
readonly ApplicationDbContext _applicationContext;
@@ -15,7 +15,7 @@ public EnsureSoftDelete(ApplicationDbContext applicationContext)
_applicationContext = applicationContext;
}
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
if (context.ChangeType == ChangeType.Deleted)
{
diff --git a/samples/4 - BlazorTests/4 - BlazorTests.csproj b/samples/4 - BlazorTests/4 - BlazorTests.csproj
index 045a1d9..dfacbb0 100644
--- a/samples/4 - BlazorTests/4 - BlazorTests.csproj
+++ b/samples/4 - BlazorTests/4 - BlazorTests.csproj
@@ -1,14 +1,17 @@
-
- net6.0
- BlazorTests
- disable
-
+
+ net10.0
+ BlazorTests
+ disable
+
-
-
-
-
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/samples/4 - BlazorTests/Startup.cs b/samples/4 - BlazorTests/Startup.cs
index c18eb56..b56e603 100644
--- a/samples/4 - BlazorTests/Startup.cs
+++ b/samples/4 - BlazorTests/Startup.cs
@@ -24,7 +24,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddServerSideBlazor();
services.AddSingleton();
- services.AddTriggeredDbContextFactory(options => {
+ services.AddTriggeredDbContextFactory((_, options) => {
options
.UseSqlite("Data source=test.db")
.UseTriggers(triggerOptions => {
diff --git a/samples/4 - BlazorTests/Triggers/Counts/PublishCountAddedEvent.cs b/samples/4 - BlazorTests/Triggers/Counts/PublishCountAddedEvent.cs
index d79b85d..cd76897 100644
--- a/samples/4 - BlazorTests/Triggers/Counts/PublishCountAddedEvent.cs
+++ b/samples/4 - BlazorTests/Triggers/Counts/PublishCountAddedEvent.cs
@@ -4,7 +4,7 @@
namespace BlazorTests.Triggers.Counts
{
- public class PublishCountAddedEvent : IAfterSaveTrigger
+ public class PublishCountAddedEvent : IAfterSaveAsyncTrigger
{
private readonly EventAggregator _eventAggregator;
@@ -13,7 +13,7 @@ public PublishCountAddedEvent(EventAggregator eventAggregator)
_eventAggregator = eventAggregator;
}
- public Task AfterSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task AfterSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
if (context.ChangeType == ChangeType.Added)
{
diff --git a/samples/4 - BlazorTests/Triggers/Counts/SetCreatedOn.cs b/samples/4 - BlazorTests/Triggers/Counts/SetCreatedOn.cs
index 7c8f9b4..a987f74 100644
--- a/samples/4 - BlazorTests/Triggers/Counts/SetCreatedOn.cs
+++ b/samples/4 - BlazorTests/Triggers/Counts/SetCreatedOn.cs
@@ -5,9 +5,9 @@
namespace BlazorTests.Triggers.Counts
{
- public class SetCreatedOn : IBeforeSaveTrigger
+ public class SetCreatedOn : IBeforeSaveAsyncTrigger
{
- public Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken)
+ public Task BeforeSaveAsync(ITriggerContext context, CancellationToken cancellationToken)
{
context.Entity.CreatedOn = DateTime.UtcNow;
diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props
deleted file mode 100644
index a7ba454..0000000
--- a/samples/Directory.Build.props
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- 6.0.0
- 3.0.0
-
-
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 06d4f16..ac45032 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -2,21 +2,7 @@
- net6.0
- EFCORETRIGGERED3
-
-
-
- netstandard2.1
- EFCORETRIGGERED2
-
-
-
- netstandard2.0
- EFCORETRIGGERED1
-
-
-
+ net8.0;net9.0;net10.0
true
true
snupkg
@@ -34,7 +20,7 @@
-
+
\ No newline at end of file
diff --git a/src/EntityFrameworkCore.Triggered.Abstractions/Internal/IsExternalInit.cs b/src/EntityFrameworkCore.Triggered.Abstractions/Internal/IsExternalInit.cs
deleted file mode 100644
index 5fe34e5..0000000
--- a/src/EntityFrameworkCore.Triggered.Abstractions/Internal/IsExternalInit.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-#if NETSTANDARD2_0 || NETSTANDARD2_1 || NETCOREAPP2_0 || NETCOREAPP2_1 || NETCOREAPP2_2 || NETCOREAPP3_0 || NETCOREAPP3_1 || NET45 || NET451 || NET452 || NET6 || NET461 || NET462 || NET47 || NET471 || NET472 || NET48
-
-using System.ComponentModel;
-
-// ReSharper disable once CheckNamespace
-namespace System.Runtime.CompilerServices
-{
- ///
- /// Reserved to be used by the compiler for tracking metadata.
- /// This class should not be used by developers in source code.
- ///
- [EditorBrowsable(EditorBrowsableState.Never)]
- internal static class IsExternalInit
- {
- }
-}
-
-#endif
\ No newline at end of file
diff --git a/src/EntityFrameworkCore.Triggered/EntityFrameworkCore.Triggered.csproj b/src/EntityFrameworkCore.Triggered/EntityFrameworkCore.Triggered.csproj
index 5f9df3b..909d546 100644
--- a/src/EntityFrameworkCore.Triggered/EntityFrameworkCore.Triggered.csproj
+++ b/src/EntityFrameworkCore.Triggered/EntityFrameworkCore.Triggered.csproj
@@ -1,7 +1,7 @@
-
+
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
new file mode 100644
index 0000000..d5032ee
--- /dev/null
+++ b/test/Directory.Build.props
@@ -0,0 +1,27 @@
+
+
+
+
+ net8.0;net9.0;net10.0
+ false
+ disable
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/EntityFrameworkCore.Triggered.Extensions.Tests/EntityFrameworkCore.Triggered.Extensions.Tests.csproj b/test/EntityFrameworkCore.Triggered.Extensions.Tests/EntityFrameworkCore.Triggered.Extensions.Tests.csproj
index a9d8e0a..b8360d8 100644
--- a/test/EntityFrameworkCore.Triggered.Extensions.Tests/EntityFrameworkCore.Triggered.Extensions.Tests.csproj
+++ b/test/EntityFrameworkCore.Triggered.Extensions.Tests/EntityFrameworkCore.Triggered.Extensions.Tests.csproj
@@ -1,32 +1,12 @@
-
- net6.0
- false
- disable
-
+
+
+
-
-
-
-
+
+
+
-
-
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/test/EntityFrameworkCore.Triggered.Extensions.Tests/ServiceCollectionExtensionsTests.cs b/test/EntityFrameworkCore.Triggered.Extensions.Tests/ServiceCollectionExtensionsTests.cs
index 67abe00..d7156f4 100644
--- a/test/EntityFrameworkCore.Triggered.Extensions.Tests/ServiceCollectionExtensionsTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Extensions.Tests/ServiceCollectionExtensionsTests.cs
@@ -143,7 +143,7 @@ public void AddAssemblyTriggers_AbstractTrigger_GetsIgnored()
.AddAssemblyTriggers();
// Ensure that we did not register the AbstractTrigger
- Assert.Empty(serviceCollection.Where(x => x.ImplementationType == typeof(AbstractTrigger)));
+ Assert.DoesNotContain(serviceCollection, x => x.ImplementationType == typeof(AbstractTrigger));
}
[Theory]
diff --git a/test/EntityFrameworkCore.Triggered.Extensions.Tests/TriggerContextOptionsBuilderExtensionsTests.cs b/test/EntityFrameworkCore.Triggered.Extensions.Tests/TriggerContextOptionsBuilderExtensionsTests.cs
index d939649..6fab174 100644
--- a/test/EntityFrameworkCore.Triggered.Extensions.Tests/TriggerContextOptionsBuilderExtensionsTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Extensions.Tests/TriggerContextOptionsBuilderExtensionsTests.cs
@@ -24,7 +24,7 @@ public void AddAssemblyTriggers_AbstractTrigger_GetsIgnored()
var triggerOptionExtension = context.Options.Extensions.OfType().Single();
// Ensure that we did not register the AbstractTrigger
- Assert.Empty(triggerOptionExtension.Triggers.Where(x => ReferenceEquals(x.typeOrInstance, typeof(AbstractTrigger))));
+ Assert.DoesNotContain(triggerOptionExtension.Triggers, x => ReferenceEquals(x.typeOrInstance, typeof(AbstractTrigger)));
}
}
}
diff --git a/test/EntityFrameworkCore.Triggered.IntegrationTests/EntityFrameworkCore.Triggered.IntegrationTests.csproj b/test/EntityFrameworkCore.Triggered.IntegrationTests/EntityFrameworkCore.Triggered.IntegrationTests.csproj
index 0ecc1d1..2d8d841 100644
--- a/test/EntityFrameworkCore.Triggered.IntegrationTests/EntityFrameworkCore.Triggered.IntegrationTests.csproj
+++ b/test/EntityFrameworkCore.Triggered.IntegrationTests/EntityFrameworkCore.Triggered.IntegrationTests.csproj
@@ -1,28 +1,12 @@
-
- net6.0
- false
- disable
-
+
+
+
-
-
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
+
+
+
-
-
-
-
-
+
\ No newline at end of file
diff --git a/test/EntityFrameworkCore.Triggered.Tests/EFCore5DbContextTests.cs b/test/EntityFrameworkCore.Triggered.Tests/EFCore5DbContextTests.cs
index 5d8aec1..5148a43 100644
--- a/test/EntityFrameworkCore.Triggered.Tests/EFCore5DbContextTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Tests/EFCore5DbContextTests.cs
@@ -131,7 +131,7 @@ public void SaveChanges_CascadingCall_ReturnsActiveTriggerSession()
subject.SaveChanges();
- Assert.Equal(1, subject.TriggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(subject.TriggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -163,7 +163,7 @@ public async Task SaveChangesAsync_CascadingCall_ReturnsActiveTriggerSession()
await subject.SaveChangesAsync();
- Assert.Equal(1, subject.TriggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(subject.TriggerStub.BeforeSaveInvocations);
}
[Fact]
diff --git a/test/EntityFrameworkCore.Triggered.Tests/EntityFrameworkCore.Triggered.Tests.csproj b/test/EntityFrameworkCore.Triggered.Tests/EntityFrameworkCore.Triggered.Tests.csproj
index 32e7a90..fb17ccb 100644
--- a/test/EntityFrameworkCore.Triggered.Tests/EntityFrameworkCore.Triggered.Tests.csproj
+++ b/test/EntityFrameworkCore.Triggered.Tests/EntityFrameworkCore.Triggered.Tests.csproj
@@ -1,32 +1,12 @@
-
- net6.0
- false
- disable
-
+
+
+
+
-
-
-
-
+
+
+
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/test/EntityFrameworkCore.Triggered.Tests/Infrastructure/ServiceCollectionExtensionsTests.cs b/test/EntityFrameworkCore.Triggered.Tests/Infrastructure/ServiceCollectionExtensionsTests.cs
index 3050d96..ca6b729 100644
--- a/test/EntityFrameworkCore.Triggered.Tests/Infrastructure/ServiceCollectionExtensionsTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Tests/Infrastructure/ServiceCollectionExtensionsTests.cs
@@ -93,7 +93,7 @@ public void AddTriggeredDbContext_ReusesScopedServiceProvider()
var triggerStub = scope.ServiceProvider.GetRequiredService>() as TriggerStub;
Assert.NotNull(triggerStub);
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
@@ -119,7 +119,7 @@ public void AddTriggeredDbContextPool_ReusesScopedServiceProvider()
var triggerStub = scope.ServiceProvider.GetRequiredService>() as TriggerStub;
Assert.NotNull(triggerStub);
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -164,12 +164,11 @@ public void AddTriggeredDbContextPool_SupportAContractType()
Assert.Equal(context1, context1);
}
-#if EFCORETRIGGERED2 || EFCORETRIGGERED3
[Fact]
public void AddTriggeredDbContextFactory_ReusesScopedServiceProvider()
{
var subject = new ServiceCollection();
- subject.AddTriggeredDbContextFactory(options => {
+ subject.AddTriggeredDbContextFactory((_, options) => {
options.UseInMemoryDatabase("test");
options.ConfigureWarnings(warningOptions => {
warningOptions.Ignore(CoreEventId.ManyServiceProvidersCreatedWarning);
@@ -189,7 +188,7 @@ public void AddTriggeredDbContextFactory_ReusesScopedServiceProvider()
var triggerStub = scope.ServiceProvider.GetRequiredService>() as TriggerStub;
Assert.NotNull(triggerStub);
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -217,7 +216,7 @@ public void AddTriggeredDbContextFactory_WithCustomFactory_ReusesScopedServicePr
var triggerStub = scope.ServiceProvider.GetRequiredService>() as TriggerStub;
Assert.NotNull(triggerStub);
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -244,8 +243,7 @@ public void AddTriggeredPooledDbContextFactory_ReusesScopedServiceProvider()
var triggerStub = scope.ServiceProvider.GetRequiredService>() as TriggerStub;
Assert.NotNull(triggerStub);
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
-#endif
}
}
diff --git a/test/EntityFrameworkCore.Triggered.Tests/TriggerServiceApplicationDependenciesTests.cs b/test/EntityFrameworkCore.Triggered.Tests/TriggerServiceApplicationDependenciesTests.cs
index 8afec31..03a826d 100644
--- a/test/EntityFrameworkCore.Triggered.Tests/TriggerServiceApplicationDependenciesTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Tests/TriggerServiceApplicationDependenciesTests.cs
@@ -43,7 +43,7 @@ void SimulateRequest()
using var serviceScope = applicationServiceProvider.CreateScope();
var dbContext = serviceScope.ServiceProvider.GetRequiredService();
var triggerStub = serviceScope.ServiceProvider.GetRequiredService>() as TriggerStub;
- Assert.Equal(0, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Empty(triggerStub.BeforeSaveInvocations);
dbContext.Add(new TestModel { });
dbContext.SaveChanges();
@@ -75,7 +75,7 @@ public void ScopedTriggers_NoScopedApplicationServiceProvider_ForPooledDbContext
var triggerStub = serviceScope.ServiceProvider.GetRequiredService>() as TriggerStub;
- Assert.Equal(0, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Empty(triggerStub.BeforeSaveInvocations);
}
@@ -106,7 +106,7 @@ public void ScopedTriggers_WithScopedApplicationServiceProvider_ForDbContext()
var triggerStub = scopedServiceProvider.GetRequiredService>() as TriggerStub;
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
@@ -137,7 +137,7 @@ public void ScopedTriggers_WithScopedApplicationServiceProvider_ForPooledDbConte
var triggerStub = scopedServiceProvider.GetRequiredService>() as TriggerStub;
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -169,7 +169,7 @@ void SimulateRequest()
var triggerStub = scopedServiceProvider.GetRequiredService>() as TriggerStub;
- Assert.Equal(1, triggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(triggerStub.BeforeSaveInvocations);
}
SimulateRequest();
diff --git a/test/EntityFrameworkCore.Triggered.Tests/TriggerSessionTests.cs b/test/EntityFrameworkCore.Triggered.Tests/TriggerSessionTests.cs
index fe850f7..fe739d9 100644
--- a/test/EntityFrameworkCore.Triggered.Tests/TriggerSessionTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Tests/TriggerSessionTests.cs
@@ -112,7 +112,7 @@ public void RaiseBeforeSaveTriggers_RaisesOnceOnSimpleAddition()
subject.RaiseBeforeSaveTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeSaveInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeSaveInvocations);
}
[Fact]
@@ -128,7 +128,7 @@ public async Task RaiseBeforeSaveAsyncTriggers_RaisesOnceOnSimpleAddition()
await subject.RaiseBeforeSaveAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeSaveAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeSaveAsyncInvocations);
}
[Fact]
@@ -173,7 +173,7 @@ public void RaiseAfterSaveTriggers_RaisesOnceOnSimpleAddition()
subject.DiscoverChanges();
subject.RaiseAfterSaveTriggers();
- Assert.Equal(1, context.TriggerStub.AfterSaveInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterSaveInvocations);
}
[Fact]
@@ -190,7 +190,7 @@ public async Task RaiseAfterSaveAsyncTriggers_RaisesOnceOnSimpleAddition()
subject.DiscoverChanges();
await subject.RaiseAfterSaveAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.AfterSaveAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterSaveAsyncInvocations);
}
[Fact]
@@ -383,7 +383,7 @@ public void RaiseAfterSaveFailedTriggers_OnException_RaisesSubsequentTriggers()
subject.DiscoverChanges();
subject.RaiseAfterSaveFailedTriggers(new Exception());
- Assert.Equal(1, context.TriggerStub.AfterSaveFailedInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterSaveFailedInvocations);
}
@@ -401,7 +401,7 @@ public async Task RaiseAfterSaveFailedAsyncTriggers_OnException_RaisesSubsequent
subject.DiscoverChanges();
await subject.RaiseAfterSaveFailedAsyncTriggers(new Exception());
- Assert.Equal(1, context.TriggerStub.AfterSaveFailedAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterSaveFailedAsyncInvocations);
}
[Fact]
@@ -445,9 +445,9 @@ public void RaiseBeforeSaveTriggers_OnExceptionAndRecall_SkipsPreviousTriggers()
subject.RaiseBeforeSaveTriggers();
}
- Assert.Equal(1, firstTrigger.BeforeSaveInvocations.Count);
- Assert.Equal(1, secondTrigger.BeforeSaveInvocations.Count);
- Assert.Equal(1, lastTrigger.BeforeSaveInvocations.Count);
+ Assert.Single(firstTrigger.BeforeSaveInvocations);
+ Assert.Single(secondTrigger.BeforeSaveInvocations);
+ Assert.Single(lastTrigger.BeforeSaveInvocations);
}
[Fact]
@@ -517,7 +517,7 @@ public void RaiseTriggers_DisabledConfiguration_Noop()
subject.RaiseBeforeSaveTriggers();
// assert
- Assert.Equal(0, context.TriggerStub.BeforeSaveInvocations.Count);
+ Assert.Empty(context.TriggerStub.BeforeSaveInvocations);
}
}
}
diff --git a/test/EntityFrameworkCore.Triggered.Transactions.Tests/EntityFrameworkCore.Triggered.Transactions.Tests.csproj b/test/EntityFrameworkCore.Triggered.Transactions.Tests/EntityFrameworkCore.Triggered.Transactions.Tests.csproj
index 93fe3cc..521953a 100644
--- a/test/EntityFrameworkCore.Triggered.Transactions.Tests/EntityFrameworkCore.Triggered.Transactions.Tests.csproj
+++ b/test/EntityFrameworkCore.Triggered.Transactions.Tests/EntityFrameworkCore.Triggered.Transactions.Tests.csproj
@@ -1,26 +1,7 @@
-
-
- net6.0
- false
- disable
-
-
-
-
-
-
+
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredDbContextTests.cs b/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredDbContextTests.cs
index 9ce3514..df03bea 100644
--- a/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredDbContextTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredDbContextTests.cs
@@ -53,7 +53,7 @@ public void RaiseBeforeCommitTriggers_DiscoveredChangesFromTriggeredDbContext_Ca
subject.RaiseBeforeCommitTriggers();
- Assert.Equal(1, dbContext.TriggerStub.BeforeCommitInvocations.Count);
+ Assert.Single(dbContext.TriggerStub.BeforeCommitInvocations);
}
@@ -72,7 +72,7 @@ public void RaiseAfterCommitTriggers_DiscoveredChangesFromTriggeredDbContext_Cal
subject.RaiseAfterCommitTriggers();
- Assert.Equal(1, dbContext.TriggerStub.AfterCommitInvocations.Count);
+ Assert.Single(dbContext.TriggerStub.AfterCommitInvocations);
}
}
}
diff --git a/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredSessionExtensionsTests.cs b/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredSessionExtensionsTests.cs
index 667506a..f4db1b6 100644
--- a/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredSessionExtensionsTests.cs
+++ b/test/EntityFrameworkCore.Triggered.Transactions.Tests/TriggeredSessionExtensionsTests.cs
@@ -80,7 +80,7 @@ public void RaiseBeforeCommitTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
session.RaiseBeforeCommitTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeCommitInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeCommitInvocations);
}
[Fact]
@@ -97,7 +97,7 @@ public async Task RaiseBeforeCommitAsyncTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
await session.RaiseBeforeCommitAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeCommitAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeCommitAsyncInvocations);
}
[Fact]
@@ -138,7 +138,7 @@ public void RaiseAfterCommitTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
session.RaiseAfterCommitTriggers();
- Assert.Equal(1, context.TriggerStub.AfterCommitInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterCommitInvocations);
}
[Fact]
@@ -155,7 +155,7 @@ public async Task RaiseAfterCommitAsyncTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
await session.RaiseAfterCommitAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.AfterCommitAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterCommitAsyncInvocations);
}
[Fact]
@@ -196,7 +196,7 @@ public void RaiseBeforeRollbackTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
session.RaiseBeforeRollbackTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeRollbackInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeRollbackInvocations);
}
[Fact]
@@ -213,7 +213,7 @@ public async Task RaiseBeforeRollbackAsyncTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
await session.RaiseBeforeRollbackAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.BeforeRollbackAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.BeforeRollbackAsyncInvocations);
}
[Fact]
@@ -254,7 +254,7 @@ public void RaiseAfterRollbackTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
session.RaiseAfterRollbackTriggers();
- Assert.Equal(1, context.TriggerStub.AfterRollbackInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterRollbackInvocations);
}
[Fact]
@@ -271,7 +271,7 @@ public async Task RaiseAfterRollbackAsyncTriggers_RaisesOnceOnSimpleAddition()
session.DiscoverChanges();
await session.RaiseAfterRollbackAsyncTriggers();
- Assert.Equal(1, context.TriggerStub.AfterRollbackAsyncInvocations.Count);
+ Assert.Single(context.TriggerStub.AfterRollbackAsyncInvocations);
}
[Fact]