public void BuildColumns(TemplateContainer node) { foreach (MetaTable table in model.Tables) { foreach (MetaColumn column in table.Columns) { TemplateContainer arrnode = node.AddArrayValue(table.Id.ToString() + "!" + column.Ix.ToString()); arrnode.AddFromObject(column); arrnode.AddLink("Table", "Tables[" + column.TableId.ToString() + "]"); MetaColumn currentcolumn = column; while (currentcolumn.TargetColumn != null) { currentcolumn = currentcolumn.TargetColumn; } node.AddLink("Domain", "/Domains[" + currentcolumn.Domain.Id.ToString() + "]"); } } }