Delete page "Class-Diagram.-"
-125
@@ -1,125 +0,0 @@
|
|||||||
# Class Diagram
|
|
||||||
|
|
||||||
Full class and interface hierarchy for `HrynCo.DAL.Abstract` and `HrynCo.DAL.EF`.
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
classDiagram
|
|
||||||
namespace HrynCo_DAL_Abstract {
|
|
||||||
class IEntity {
|
|
||||||
<<interface>>
|
|
||||||
+object Id
|
|
||||||
+DateTimeOffset Created
|
|
||||||
+DateTimeOffset? Updated
|
|
||||||
}
|
|
||||||
class IEntityTId {
|
|
||||||
<<interface>>
|
|
||||||
+TId Id
|
|
||||||
}
|
|
||||||
class EntityTId {
|
|
||||||
<<abstract>>
|
|
||||||
+TId Id
|
|
||||||
+DateTimeOffset Created
|
|
||||||
+DateTimeOffset? Updated
|
|
||||||
}
|
|
||||||
class Entity {
|
|
||||||
<<abstract>>
|
|
||||||
+Guid Id
|
|
||||||
}
|
|
||||||
class NamedEntity {
|
|
||||||
<<abstract>>
|
|
||||||
+string Name
|
|
||||||
}
|
|
||||||
class IUnitOfWork {
|
|
||||||
<<interface>>
|
|
||||||
+BeginTransactionAsync() Task~ITransaction~
|
|
||||||
+GetCurrentTransaction() ITransaction?
|
|
||||||
+ExecuteInTransactionAsync(action) Task
|
|
||||||
+ExecuteInTransactionAsync~TResult~(action) Task~TResult~
|
|
||||||
}
|
|
||||||
class ITransaction {
|
|
||||||
<<interface>>
|
|
||||||
+CommitAsync() Task
|
|
||||||
+RollbackAsync() Task
|
|
||||||
+DisposeAsync() ValueTask
|
|
||||||
}
|
|
||||||
class PagedResultT {
|
|
||||||
<<sealed>>
|
|
||||||
+IReadOnlyList~T~ Items
|
|
||||||
+int Page
|
|
||||||
+int PageSize
|
|
||||||
+int TotalCount
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace HrynCo_DAL_EF {
|
|
||||||
class IEfRepository {
|
|
||||||
<<interface>>
|
|
||||||
+ClearChangeTracker()
|
|
||||||
}
|
|
||||||
class IEfRepositoryTEntityTId {
|
|
||||||
<<interface>>
|
|
||||||
+Add(entity) TEntity
|
|
||||||
+AddAsync(entity) Task~TEntity~
|
|
||||||
+Delete(id)
|
|
||||||
+DeleteAsync(id) Task
|
|
||||||
+Get(filter, orderBy, includes) IQueryable~TEntity~
|
|
||||||
+GetAll() IQueryable~TEntity~
|
|
||||||
+GetAllAsync() Task~List~TEntity~~
|
|
||||||
+GetById(id) TEntity?
|
|
||||||
+GetByIdAsync(id) Task~TEntity?~
|
|
||||||
+Exists(id) Task~bool~
|
|
||||||
+UpdateAsync(entity) Task
|
|
||||||
+SaveChangesAsync() Task
|
|
||||||
}
|
|
||||||
class IEfRepositoryTEntity {
|
|
||||||
<<interface>>
|
|
||||||
}
|
|
||||||
class BaseEfRepositoryTDbContextTEntityTEntityId {
|
|
||||||
<<abstract>>
|
|
||||||
+TDbContext DbContext
|
|
||||||
+Add() TEntity
|
|
||||||
+AddAsync() Task~TEntity~
|
|
||||||
+Delete()
|
|
||||||
+DeleteAsync() Task
|
|
||||||
+Get() IQueryable~TEntity~
|
|
||||||
+GetAll() IQueryable~TEntity~
|
|
||||||
+GetAllAsync() Task~List~TEntity~~
|
|
||||||
+GetById() TEntity?
|
|
||||||
+GetByIdAsync() Task~TEntity?~
|
|
||||||
+Exists() Task~bool~
|
|
||||||
+Update()
|
|
||||||
+UpdateAsync() Task
|
|
||||||
+SaveChangesAsync() Task
|
|
||||||
#DoRemove()
|
|
||||||
}
|
|
||||||
class BaseRepositoryTEfRepositoryTDbContextTEntityTEntityId {
|
|
||||||
<<abstract>>
|
|
||||||
#EfRepository TEfRepository
|
|
||||||
#CreateEfRepository()* TEfRepository
|
|
||||||
}
|
|
||||||
class EfUnitOfWorkTDbContext {
|
|
||||||
+BeginTransactionAsync() Task~ITransaction~
|
|
||||||
+GetCurrentTransaction() ITransaction?
|
|
||||||
+ExecuteInTransactionAsync() Task
|
|
||||||
}
|
|
||||||
class EfTransactionAdapter {
|
|
||||||
+CommitAsync() Task
|
|
||||||
+RollbackAsync() Task
|
|
||||||
+DisposeAsync() ValueTask
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IEntityTId --|> IEntity : extends
|
|
||||||
EntityTId ..|> IEntityTId : implements
|
|
||||||
Entity --|> EntityTId : extends (TId=Guid)
|
|
||||||
NamedEntity --|> Entity : extends
|
|
||||||
|
|
||||||
IEfRepositoryTEntityTId --|> IEfRepository : extends
|
|
||||||
IEfRepositoryTEntity --|> IEfRepositoryTEntityTId : extends (TId=int)
|
|
||||||
BaseEfRepositoryTDbContextTEntityTEntityId ..|> IEfRepositoryTEntityTId : implements
|
|
||||||
BaseRepositoryTEfRepositoryTDbContextTEntityTEntityId --> BaseEfRepositoryTDbContextTEntityTEntityId : uses (lazy)
|
|
||||||
|
|
||||||
EfUnitOfWorkTDbContext ..|> IUnitOfWork : implements
|
|
||||||
EfTransactionAdapter ..|> ITransaction : implements
|
|
||||||
EfUnitOfWorkTDbContext --> EfTransactionAdapter : creates
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user