private void WriteReferences(StreamWriter writer, Table table) { foreach (ForeignKey foreignKey in table.ForeignKeys) { writer.WriteLine(","); writer.Write("\tconstraint {0} foreign key (", Identifier(table.ForeignKeyName(foreignKey))); for (int i = 0; i < foreignKey.Columns.Count; i++) { if (i > 0) { writer.Write(", "); } writer.Write(Identifier(foreignKey.Columns[i].FromColumn.Name)); } writer.Write(") references {0}.{1} (", Identifier(DatabaseSchemaName), Identifier(foreignKey.ToTable.Name)); for (int i = 0; i < foreignKey.Columns.Count; i++) { if (i > 0) { writer.Write(", "); } writer.Write(Identifier(foreignKey.Columns[i].ToColumn.Name)); } writer.Write(")"); } }
//private void WriteReferences(StreamWriter writer, Table table) //{ // foreach (Column column in table.Columns) // { // if (column.ReferencesTable != null) // { // writer.Write("ALTER TABLE [" + TableSchemaName + "]." + Identifier(table.Name) + " WITH CHECK"); // writer.WriteLine(" ADD CONSTRAINT " + Identifier(table.ForeignKeyName(column)) + " FOREIGN KEY"); // writer.Write("("); // writer.Write(Identifier(column.Name)); // writer.Write(") REFERENCES [" + TableSchemaName + "]." + Identifier(column.ReferencesTable.Name)); // writer.WriteLine(" (" + Identifier(column.ReferencesColumn.Name) + ");"); // writer.WriteLine(); // } // } //} private void WriteReferences(StreamWriter writer, Table table) { foreach (ForeignKey foreignKey in table.ForeignKeys) { writer.Write("ALTER TABLE [" + effectiveDatabaseSchemaName + "]." + Identifier(table.Name) + " WITH CHECK"); writer.WriteLine(" ADD CONSTRAINT " + Identifier(table.ForeignKeyName(foreignKey)) + " FOREIGN KEY"); writer.Write("("); for (int i = 0; i < foreignKey.Columns.Count; i++) { if (i > 0) { writer.Write(", "); } writer.Write(Identifier(foreignKey.Columns[i].FromColumn.Name)); } writer.Write(") REFERENCES [" + effectiveDatabaseSchemaName + "]." + Identifier(foreignKey.ToTable.Name)); writer.Write(" ("); for (int i = 0; i < foreignKey.Columns.Count; i++) { if (i > 0) { writer.Write(", "); } writer.Write(Identifier(foreignKey.Columns[i].ToColumn.Name)); } writer.WriteLine(");"); } }