public async Task <T> QueryFirstOrDefaultAsync <T>(IDbQuery query) { var connection = this.GetDbConnection(); var transaction = this.context.Database.CurrentTransaction?.GetDbTransaction(); this.CancellationToken.ThrowIfCancellationRequested(); return(await connection.QueryFirstOrDefaultAsync <T>(query.ToString(), query.GetDapperParameters(), transaction)); }