Class FuncFetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult>
- Namespace
- Whipstaff.MediatR.EntityFrameworkCore
- Assembly
- Whipstaff.MediatR.EntityFrameworkCore.dll
MediatR request handler for acting on an entity framework dbset.
public sealed class FuncFetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult> : FetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult>, IQueryHandler<TQuery, TResult?>, IRequestHandler<TQuery, TResult?> where TQuery : IQuery<TResult>, ILongId where TDbContext : DbContext where TEntity : class, ILongId
Type Parameters
TQuery
The type for the MediatR Query.
TDbContext
The type for the Entity Framework DB Context.
TEntity
The type for the POCO object.
TResult
The type for the Result.
- Inheritance
-
FetchFromEntityFrameworkQueryHandler<TQuery, TDbContext, TEntity, TResult, TResult>FetchFromEntityFrameworkQueryHandler<TQuery, TDbContext, TEntity, TResult>FetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult>FuncFetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult>
- Implements
-
IQueryHandler<TQuery, TResult>IRequestHandler<TQuery, TResult>
- Inherited Members
Constructors
FuncFetchFromEntityFrameworkByLongIdQueryHandler(IDbContextFactory<TDbContext>, Func<TDbContext, DbSet<TEntity>>, Expression<Func<TEntity, TResult?>>)
Initializes a new instance of the FuncFetchFromEntityFrameworkByLongIdQueryHandler<TQuery, TDbContext, TEntity, TResult> class.
public FuncFetchFromEntityFrameworkByLongIdQueryHandler(IDbContextFactory<TDbContext> dbContextFactory, Func<TDbContext, DbSet<TEntity>> dbSetFunc, Expression<Func<TEntity, TResult?>> selector)
Parameters
dbContextFactory
IDbContextFactory<TDbContext>The factory for the database context.
dbSetFunc
Func<TDbContext, DbSet<TEntity>>Function for selecting the DBSet from the Entity Framework Context.
selector
Expression<Func<TEntity, TResult>>Selector for the result output.
Methods
ExtendQueryable(IQueryable<TEntity>)
Allows extension of the query, for example to add includes.
protected override IQueryable<TEntity> ExtendQueryable(IQueryable<TEntity> queryable)
Parameters
queryable
IQueryable<TEntity>queryable to extend.
Returns
- IQueryable<TEntity>
Modified queryable, or original queryable if not modifying.
GetDbSet(TDbContext)
Gets the DBSet from the DBContext that contains the relevant entity.
protected override DbSet<TEntity> GetDbSet(TDbContext dbContext)
Parameters
dbContext
TDbContextDatabase Context.
Returns
- DbSet<TEntity>
DBSet from the DBContext that contains the relevant entity.
GetSelector()
Gets the Selector for the result output from the query.
protected override Expression<Func<TEntity, TResult?>> GetSelector()
Returns
- Expression<Func<TEntity, TResult>>
Selector for the result output from the query.