Table of Contents

Interface IItemRepository

Namespace
Moongate.Persistence.Interfaces.Persistence
Assembly
Moongate.Persistence.dll

Provides persistence operations for item entities.

public interface IItemRepository

Methods

CountAsync(CancellationToken)

Returns the current number of persisted items.

ValueTask<int> CountAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<int>

GetAllAsync(CancellationToken)

Returns all persisted items.

ValueTask<IReadOnlyCollection<UOItemEntity>> GetAllAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyCollection<UOItemEntity>>

GetByIdAsync(Serial, CancellationToken)

Gets an item by its serial identifier.

ValueTask<UOItemEntity?> GetByIdAsync(Serial id, CancellationToken cancellationToken = default)

Parameters

id Serial
cancellationToken CancellationToken

Returns

ValueTask<UOItemEntity>

QueryAsync<TResult>(Func<UOItemEntity, bool>, Func<UOItemEntity, TResult>, CancellationToken)

Runs a projection query over item entities.

ValueTask<IReadOnlyList<TResult>> QueryAsync<TResult>(Func<UOItemEntity, bool> predicate, Func<UOItemEntity, TResult> selector, CancellationToken cancellationToken = default)

Parameters

predicate Func<UOItemEntity, bool>
selector Func<UOItemEntity, TResult>
cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<TResult>>

Type Parameters

TResult

RemoveAsync(Serial, CancellationToken)

Removes an item by its serial identifier.

ValueTask<bool> RemoveAsync(Serial id, CancellationToken cancellationToken = default)

Parameters

id Serial
cancellationToken CancellationToken

Returns

ValueTask<bool>

UpsertAsync(UOItemEntity, CancellationToken)

Inserts or updates an item.

ValueTask UpsertAsync(UOItemEntity item, CancellationToken cancellationToken = default)

Parameters

item UOItemEntity
cancellationToken CancellationToken

Returns

ValueTask