Пример #1
0
        public async Task Can_execute_scalar_command()
        {
            using (var testDatabase = await TestDatabase.Default())
            {
                var commandExecutor = new SqlServerSimpleCommandExecutor(testDatabase.Connection.ConnectionString);

                var scalar = await commandExecutor.ExecuteScalarAsync <int>("select 42", CancellationToken.None);

                Assert.Equal(42, scalar);
            }
        }
        public async Task Can_get_next_values()
        {
            using (var testDatabase = await TestDatabase.Default())
            {
                var sequenceIdentityGenerator
                    = new SequenceIdentityGenerator(testDatabase);

                var generator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

                await testDatabase.ExecuteNonQueryAsync(
                    generator.Generate(new[] { sequenceIdentityGenerator.CreateMigrationOperation() }, generateIdempotentSql : true).Single().Sql);

                var next = sequenceIdentityGenerator.NextAsync().Result;

                for (var i = 1; i <= 100; i++)
                {
                    Assert.Equal(next + i, await sequenceIdentityGenerator.NextAsync());
                }
            }
        }
Пример #3
0
        public async Task Can_get_next_values()
        {
            var sequentialGuidIdentityGenerator = new SequentialGuidIdentityGenerator();
            var values = new List <Guid>();

            for (var _ = 0; _ < 100; _++)
            {
                values.Add(await sequentialGuidIdentityGenerator.NextAsync());
            }

            using (var testDatabase = await TestDatabase.Default())
            {
                await testDatabase.ExecuteNonQueryAsync("CREATE TABLE SequentialGuidTest (value uniqueidentifier)");

                for (var i = values.Count - 1; i >= 0; i--)
                {
                    await testDatabase.ExecuteNonQueryAsync("INSERT SequentialGuidTest VALUES (@p0)", values[i]);
                }

                Assert.Equal(
                    values,
                    await testDatabase.QueryAsync <Guid>("SELECT value FROM SequentialGuidTest ORDER BY value"));
            }
        }