Skip to content

Add async repository base methods #104

Description

@GreenCodeLine

Overview

Modernize the repository and data access infrastructure by adding asynchronous support across the existing EF6, EF Core, and Redis implementations, while also updating the UnitOfWork and addressing vulnerable/outdated package dependencies.

Changes

Repository Infrastructure

Add async counterparts to the existing Base Repository methods for:

  • Entity Framework 6
  • Entity Framework Core
  • Redis

The existing synchronous APIs should remain available to preserve backward compatibility.

UnitOfWork

Update the UnitOfWork implementation to support asynchronous operations and provide proper async database workflows across the supported data access implementations.

Dependency Updates

Upgrade outdated and vulnerable NuGet packages to supported and secure versions.

This includes packages such as:

  • AutoMapper
  • Other dependencies identified as vulnerable or outdated

Package upgrades should preserve existing functionality and avoid unnecessary breaking changes.

Goals

  • Provide consistent async support across the data access layer.
  • Improve scalability by avoiding blocking database and Redis operations.
  • Provide async-compatible UnitOfWork workflows.
  • Address known package vulnerabilities.
  • Keep existing synchronous APIs and behavior backward compatible where possible.
  • Maintain compatibility across EF6, EF Core, and Redis implementations.

Acceptance Criteria

  • Async methods are available in the Base Repository for EF6.
  • Async methods are available in the Base Repository for EF Core.
  • Async methods are available in the Redis repository implementation where applicable.
  • UnitOfWork supports asynchronous operations.
  • Existing synchronous APIs remain functional.
  • CancellationToken is supported where applicable.
  • EF6 and EF Core native async APIs are used.
  • Redis async APIs are used where supported.
  • Vulnerable/outdated NuGet packages are upgraded.
  • AutoMapper is upgraded to a supported version.
  • Existing tests continue to pass.
  • No unintended breaking changes are introduced to existing consumers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions