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 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")); }
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); }
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")); }