Data
These packages are designed to create a clean, reusable, and testable data access layer for your application.
RA.Utilities.Data.Entities:
This is the foundation.
It provides common base classes for your data models (e.g., BaseEntity, AuditableBaseEntity).
This ensures all your entities have a consistent structure with properties like Id, CreatedAt, and CreatedBy, reducing boilerplate code.
RA.Utilities.Data.Abstractions:
This package defines the "rules" or contracts for how you interact with your data, without specifying the technology.
It contains interfaces like IRepository<T> and IUnitOfWork.
Your application logic should depend on these abstractions, not on a specific database technology.
This makes your code decoupled and easier to unit test.
RA.Utilities.Data.EntityFramework:
This package provides the concrete implementation of the rules defined in the abstractions package, specifically for Entity Framework Core.
It contains ready-to-use classes like RepositoryBase<T> and UnitOfWork<TContext>
that you can inherit from to quickly build your data access layer without writing all the CRUD (Create, Read, Update, Delete) logic yourself.
In short, they work together to enforce a clean architecture:
- Entities define your data structure.
- Abstractions define the contracts for accessing that data.
- EntityFramework provides a ready-made implementation of those contracts.
🗃️ RA.Utilities.Data.Entities
3 items
🗃️ RA.Utilities.Data.Abstractions
4 items
🗃️ RA.Utilities.Data.EntityFramework
5 items