/// <summary> /// Marks attribute given by name of specified table as foreign key /// </summary> /// <param name="tableName">Table name</param> /// <param name="attrName">Attribute name</param> /// <param name="tableRef">Referred table</param> /// <param name="keyRef">Reffered key</param> private void SetForeignKey(string tableName, string attrName, string tableRef, string keyRef) { IR.Table table = FindTable(tableName); if (table != null) { SetForeignKey(table, attrName, tableRef, keyRef); } }
/// <summary> /// Marks attribute given by name of specified table as foreign key /// </summary> /// <param name="table">Table IR object</param> /// <param name="attrName">Attribute name</param> /// <param name="tableRef">Referred table</param> /// <param name="keyRef">Reffered key</param> private void SetForeignKey(IR.Table table, string attrName, string tableRef, string keyRef) { if (table != null) { IR.TableAttribute attr = FindAttribute(attrName, table); if (attr != null) { SetForeignKey(attr, tableRef, keyRef); } } }
/// <summary> /// Finds attribute of specified table /// </summary> /// <param name="attrName">Attribute name</param> /// <param name="table">Table object</param> /// <returns>Attribute object of null if not found</returns> private IR.TableAttribute FindAttribute(string attrName, IR.Table table) { foreach (var attr in table.Attribues) { if (attr.Name == attrName) { return(attr); } } return(null); }