Class ItemRepository
- Namespace
- Moongate.Persistence.Services.Persistence
- Assembly
- Moongate.Persistence.dll
Thread-safe item repository backed by the shared persistence state store.
public sealed class ItemRepository : IItemRepository
- Inheritance
-
ItemRepository
- Implements
- Inherited Members
Methods
CountAsync(CancellationToken)
Returns the current number of persisted items.
public ValueTask<int> CountAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
GetAllAsync(CancellationToken)
Returns all persisted items.
public ValueTask<IReadOnlyCollection<UOItemEntity>> GetAllAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
GetByIdAsync(Serial, CancellationToken)
Gets an item by its serial identifier.
public ValueTask<UOItemEntity?> GetByIdAsync(Serial id, CancellationToken cancellationToken = default)
Parameters
idSerialcancellationTokenCancellationToken
Returns
QueryAsync<TResult>(Func<UOItemEntity, bool>, Func<UOItemEntity, TResult>, CancellationToken)
Runs a projection query over item entities.
public ValueTask<IReadOnlyList<TResult>> QueryAsync<TResult>(Func<UOItemEntity, bool> predicate, Func<UOItemEntity, TResult> selector, CancellationToken cancellationToken = default)
Parameters
predicateFunc<UOItemEntity, bool>selectorFunc<UOItemEntity, TResult>cancellationTokenCancellationToken
Returns
- ValueTask<IReadOnlyList<TResult>>
Type Parameters
TResult
RemoveAsync(Serial, CancellationToken)
Removes an item by its serial identifier.
public ValueTask<bool> RemoveAsync(Serial id, CancellationToken cancellationToken = default)
Parameters
idSerialcancellationTokenCancellationToken
Returns
UpsertAsync(UOItemEntity, CancellationToken)
Inserts or updates an item.
public ValueTask UpsertAsync(UOItemEntity item, CancellationToken cancellationToken = default)
Parameters
itemUOItemEntitycancellationTokenCancellationToken