Class RequestMapper<TRequest, TEntity>
use this base class to define a domain entity mapper for your endpoints that only has a request dto and no response dto.
HINT: entity mappers are used as singletons for performance reasons. do not maintain state in the mappers.
Inherited Members
Namespace: FastEndpoints
Assembly: FastEndpoints.dll
Syntax
public abstract class RequestMapper<TRequest, TEntity> : IRequestMapper, IMapper, IServiceResolverBase where TRequest : notnull
Type Parameters
Name | Description |
---|---|
TRequest | the type of request dto |
TEntity | the type of domain entity to map to/from |
Methods
CreateScope()
if you'd like to resolve scoped or transient services from the MS DI container, obtain a service scope from this method and dispose the scope when the work is complete.
using var scope = CreateScope();
var scopedService = scope.Resolve<MyService>();
Declaration
public IServiceScope CreateScope()
Returns
Type | Description |
---|---|
IServiceScope |
Resolve(Type)
resolve an instance for the given type from the dependency injection container. will throw if unresolvable.
Declaration
public object Resolve(Type typeOfService)
Parameters
Type | Name | Description |
---|---|---|
Type | typeOfService | the type of the service to resolve |
Returns
Type | Description |
---|---|
object |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if requested service cannot be resolved |
Resolve<TService>()
resolve an instance for the given type from the dependency injection container. will throw if unresolvable.
Declaration
public TService Resolve<TService>() where TService : class
Returns
Type | Description |
---|---|
TService |
Type Parameters
Name | Description |
---|---|
TService | the type of the service to resolve |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if requested service cannot be resolved |
ToEntity(TRequest)
override this method and place the logic for mapping the request dto to the desired domain entity
Declaration
public virtual TEntity ToEntity(TRequest r)
Parameters
Type | Name | Description |
---|---|---|
TRequest | r | the request dto |
Returns
Type | Description |
---|---|
TEntity |
ToEntityAsync(TRequest, CancellationToken)
override this method and place the logic for mapping the request dto to the desired domain entity
Declaration
public virtual Task<TEntity> ToEntityAsync(TRequest r, CancellationToken ct = default)
Parameters
Type | Name | Description |
---|---|---|
TRequest | r | the request dto to map from |
CancellationToken | ct | a cancellation token |
Returns
Type | Description |
---|---|
Task<TEntity> |
TryResolve(Type)
try to resolve an instance for the given type from the dependency injection container. will return null if unresolvable.
Declaration
public object? TryResolve(Type typeOfService)
Parameters
Type | Name | Description |
---|---|---|
Type | typeOfService | the type of the service to resolve |
Returns
Type | Description |
---|---|
object |
TryResolve<TService>()
try to resolve an instance for the given type from the dependency injection container. will return null if unresolvable.
Declaration
public TService? TryResolve<TService>() where TService : class
Returns
Type | Description |
---|---|
TService |
Type Parameters
Name | Description |
---|---|
TService | the type of the service to resolve |