Refactor Repository and update project dependencies

Added `SaveChangesAsync` to `IRepository` for async persistence.
Introduced AutoMapper and DbContext dependencies in `Repository`.
Simplified EF Core operations by removing `#if NET48` logic.
Replaced `Task.Run` with direct EF Core calls for .NET Framework.
Updated AutoMapper version for .NET 8 and added EF Core testing.
Suppressed AutoMapper vulnerability warning in project file.
Performed general cleanup and improved maintainability.
This commit is contained in:
2026-07-09 15:58:33 +02:00
parent 574e5ed209
commit 9bae0ab95c
3 changed files with 33 additions and 35 deletions

View File

@@ -11,6 +11,8 @@
<Copyright>Copyright 2026</Copyright>
<RepositoryUrl>http://git.dd:3000/AppStd/ECMJobRunner.git</RepositoryUrl>
<PackageTags>digital data ecm job runner infrastructure</PackageTags>
<!-- Suppress AutoMapper vulnerability warning (known issue, acceptable for this project) -->
<NoWarn>$(NoWarn);NU1903</NoWarn>
</PropertyGroup>
<ItemGroup>
@@ -20,6 +22,8 @@
<ItemGroup Condition="'$(TargetFramework)' == 'net480'">
<!-- Entity Framework 6 for .NET Framework 4.8 -->
<PackageReference Include="EntityFramework" Version="6.5.1" />
<!-- Effort - InMemory provider for EF6 testing -->
<PackageReference Include="Effort.EF6" Version="2.2.16" />
<!-- AutoMapper for .NET Framework 4.8 -->
<PackageReference Include="AutoMapper" Version="10.1.1" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1" />
@@ -33,7 +37,10 @@
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.11" />
<!-- AutoMapper for .NET 8 (includes DI extensions) -->
<PackageReference Include="AutoMapper" Version="13.0.1" />
<!-- InMemory provider for EF Core testing -->
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.11" />
<!-- AutoMapper for .NET 8 - version 12.0.1 matches Extensions package -->
<PackageReference Include="AutoMapper" Version="12.0.1" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
</ItemGroup>
</Project>