public async Task <IEnumerable <ExpenseTypeDto> > HandleAsync(ExpenseTypeListQuery query,
                                                                      CancellationToken cancellationToken = default(CancellationToken))
        {
            var types = await
                        _db.ExpenseTypes
                        .Where(e => e.UserId == query.UserId)
                        .Select(e =>
                                new ExpenseTypeDto
            {
                Id      = e.Id,
                Name    = e.Name,
                Symbol  = e.Symbol,
                Version = e.Version
            }
                                ).AsNoTracking().ToListAsync(cancellationToken);

            return(types);
        }
        public async Task <IEnumerable <ExpenseTypeDto> > HandleAsync(ExpenseTypeListQuery query,
                                                                      CancellationToken cancellationToken = default(CancellationToken))
        {
            using (var conn = new SqlConnection(_configuration.HouseholdConnectionString))
            {
                await conn.OpenAsync(cancellationToken);

                var types = await conn.QueryAsync <ExpenseTypeDto>(@"
                    SELECT Id, Name, Symbol, Version
                        Address_Street AS Street, Address_City AS City, Address_Country AS Country, Address_ZipCode AS ZipCode,
                        Version
                    FROM ExpenseTypes
                    WHERE UserId = @UserId
                ",
                                                                   new
                {
                    query.UserId
                });

                return(types);
            }
        }