public void BulkUpsert()
        {
            var range = 10;
            var dtos  = Enumerable.Range(0, range).Select(i => new LocationDto
            {
                City              = i.ToString(),
                Latitude          = 1.0,
                Longitude         = 3.0,
                Zip               = i.ToString(),
                Extra             = new[] { 10, 12 },
                AnnoyingInterface = new AnnoyingInterface()
            }).ToArray();

            using (var conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["MySql"].ConnectionString))
            {
                conn.Open();
                conn.BulkUpsert(dtos.Take(5).ToArray());
                conn.BulkUpsert(dtos);

                for (int i = 0; i < range; i++)
                {
                    var dto = conn.Query <LocationDto>(
                        q => q.Where(w => w.Equal(x => x.Zip, i.ToString()))
                        ).FirstOrDefault();
                    Assert.That(dto.City, Is.EqualTo(i.ToString()));
                }
            }
        }