private static string GetPublicParentPkProperty(string fkPartColName, ForeignKey fk, Table childTable) { int idxParentTable = childTable.IndexOfGeneratedTable(fk.ParentTableName); //Table parentTable = ArrayUtil.Find<Table>(childTable.GeneratedTables, (t) => (t.TableName == fk.ParentTableName)); Table parentTable = childTable.GeneratedTables[idxParentTable]; int partIndex = ArrayUtil.FindIndex<string>(fk.ChildColumns, (col) => (col == fkPartColName)); string parentPkPartName = fk.ParentColumns[partIndex]; TableField parentPkPart = ArrayUtil.Find<TableField>(parentTable.Fields, (f) => (f.ColumnName == parentPkPartName)); return parentPkPart.Names.PublicMember; }