public async Task InsertSingleAsync()
        {
            var item = new IdentityAndComputedTest {
                Name = Guid.NewGuid().ToString()
            };

            using (var connection = this.GetConnection())
            {
                connection.Open();
                var inserted = (await connection.BulkInsertAndSelectAsync(new List <IdentityAndComputedTest> {
                    item
                })).First();
                IsValidInsert(inserted, item);
            }
        }
        public void InsertSingleTransaction()
        {
            var item = new IdentityAndComputedTest {
                Name = Guid.NewGuid().ToString()
            };

            using (var connection = this.GetConnection())
            {
                connection.Open();
                using (var transaction = connection.BeginTransaction())
                {
                    var inserted = connection.BulkInsertAndSelect(new List <IdentityAndComputedTest> {
                        item
                    }, transaction).First();
                    IsValidInsert(inserted, item);
                }
            }
        }
 private static void IsValidInsert(IdentityAndComputedTest inserted, IdentityAndComputedTest toBeInserted)
 {
     inserted.IdKey.Should().BePositive();
     inserted.Name.Should().Be(toBeInserted.Name);
     inserted.CreateDate.Should().BeAtLeast((DateTime.UtcNow - TimeSpan.FromDays(1)).TimeOfDay);
 }