/// <summary>The process foreign key references for table.</summary> /// <param name="dbConn">The db conn.</param> /// <param name="dbTable">The db table.</param> protected override void ProcessForeignKeyReferencesForTable(DbConnection dbConn, DbModelTable dbTable) { // todo - check GetGroupForeingKeys foreach (DbModelConstraint constraint in dbTable.Constraints) { var column = dbTable.Columns.Find(c => c.Name == constraint.ColumnName); var refTable = dbTable.ParentDb.FindTable(constraint.UniqueConstraintTableName); var refColumn = refTable.Columns.Find(c => c.Name == constraint.UniqueColumnName); DbModelForeignKeyReference fk = new DbModelForeignKeyReference(column, refTable, refColumn); fk.UpdateRule = constraint.UpdateRule; fk.DeleteRule = constraint.DeleteRule; column.ForeignKeyReference = fk; } }
/// <summary>The process foreign key references for table.</summary> /// <param name="dbConn">The db conn.</param> /// <param name="dbTable">The db table.</param> protected override void ProcessForeignKeyReferencesForTable(DbConnection dbConn, DbModelTable dbTable) { // todo - check GetGroupForeingKeys foreach (DbModelConstraint constraint in dbTable.Constraints) { var column = dbTable.Columns.Find(c => c.Name == constraint.ColumnName); var refTable = dbTable.ParentDb.FindTable( Utility.RenderSafeSchemaObjectName(constraint.UniqueConstraintTableSchema, constraint.UniqueConstraintTableName)); var refColumn = refTable.Columns.Find(c => c.Name == constraint.UniqueColumnName); DbModelForeignKeyReference fk = new DbModelForeignKeyReference(column, refTable, refColumn); fk.UpdateRule = constraint.UpdateRule; fk.DeleteRule = constraint.DeleteRule; column.ForeignKeyReference = fk; } }