AyCode.Core/AyCode.Database/DataLayers
..
Users
AcDalBase.cs
IAcDalBase.cs
PooledDal.cs
README.md

README.md

DataLayers

Generic Data Access Layer (DAL) abstraction with mutex-protected session/transaction patterns and singleton DAL pooling.

Key Files

  • IAcDalBase.cs — Base interface: Name, Context access, Mutex lock, DbContext lifecycle.
  • AcDalBase.cs — Abstract implementation: Session/SessionAsync (reads), Transaction/TransactionAsync (writes), thread-safe Mutex, auto DbContext creation, model DTO conversion.
  • PooledDal.cs — Singleton DAL pool: concurrent dictionary by SessionId/PlayerId, GetDalById, CreateDal, Remove.

Subfolders

Folder Purpose
Users/ User-specific DAL with authentication and CRUD