private static string GenerateDataType(Column column)
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper())
            {
                Database = new DatabaseModel()
            };

            sqlGenerator.Database.AddTable(column.Table);
            return(sqlGenerator.GenerateDataType(column.Table.Name, column));
        }
Exemplo n.º 2
0
        public void GenerateDataType_for_string_key()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            var column = new Column("Username", typeof(string));
            var table  = new Table("dbo.Users");

            table.PrimaryKey = new PrimaryKey("PK_Users", new List <Column>()
            {
                column
            }.AsReadOnly());
            table.AddColumn(column);

            Assert.Equal("nvarchar(128)", sqlGenerator.GenerateDataType(column));
        }
        private static void CreateDatabaseSequence(BronieContext context, DataStoreConnection storeConnection)
        {
            var executor = new SqlStatementExecutor();

            var operations = new SqlServerSequenceValueGeneratorFactory(executor)
                             .GetUpMigrationOperations(context.Model.GetEntityType(typeof(Pegasus))
                                                       .GetProperty("Identifier"));

            var sql = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper())
                      .Generate(operations, generateIdempotentSql: false);

            // TODO: Should be able to get relational connection without cast
            var connection = ((RelationalConnection)storeConnection).DbConnection;

            executor.ExecuteNonQuery(connection, sql);
        }
        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());
                }
            }
        }
        public void Escape_literal()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("foo''bar", sqlGenerator.EscapeLiteral("foo'bar"));
        }
        private static SqlStatement Generate(MigrationOperation migrationOperation, bool generateIdempotentSql)
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            return(sqlGenerator.Generate(new[] { migrationOperation }, generateIdempotentSql).Single());
        }
        public void Escape_identifier()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("foo[]]]]bar", sqlGenerator.EscapeIdentifier("foo[]]bar"));
        }
        public void Delimit_literal()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("'foo''bar'", sqlGenerator.DelimitLiteral("foo'bar"));
        }
 private static string GenerateDataType(Column column)
 {
     var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper()) { Database = new DatabaseModel() };
     sqlGenerator.Database.AddTable(column.Table);
     return sqlGenerator.GenerateDataType(column.Table.Name, column);
 }
        public void Delimit_identifier()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("[foo[]]bar]", sqlGenerator.DelimitIdentifier("foo[]bar"));
        }
        public void Delimit_identifier()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("[foo[]]bar]", sqlGenerator.DelimitIdentifier("foo[]bar"));
        }
Exemplo n.º 12
0
        private static void CreateDatabaseSequence(BronieContext context, RelationalConnection storeConnection)
        {
            var executor = new SqlStatementExecutor();

            var operations = new SqlServerSequenceValueGeneratorFactory(executor)
                .GetUpMigrationOperations(context.Model.GetEntityType(typeof(Pegasus))
                    .GetProperty("Identifier"));

            var sql = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper())
                .Generate(operations);

            // TODO: Should be able to get relational connection without cast
            var connection = storeConnection.DbConnection;

            executor.ExecuteNonQuery(connection, storeConnection.DbTransaction, sql);
        }
Exemplo n.º 13
0
        private static SqlStatement Generate(MigrationOperation migrationOperation)
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            return(sqlGenerator.Generate(new[] { migrationOperation }).Single());
        }
        private static SqlStatement Generate(MigrationOperation migrationOperation)
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            return sqlGenerator.Generate(new[] { migrationOperation }).Single();
        }
        public void Escape_literal()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("foo''bar", sqlGenerator.EscapeLiteral("foo'bar"));
        }
        public void Delimit_literal()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("'foo''bar'", sqlGenerator.DelimitLiteral("foo'bar"));
        }
        public void Escape_identifier()
        {
            var sqlGenerator = new SqlServerMigrationOperationSqlGenerator(new SqlServerTypeMapper());

            Assert.Equal("foo[]]]]bar", sqlGenerator.EscapeIdentifier("foo[]]bar"));
        }