/// <summary> /// Adds a foreign key with a single column /// </summary> /// <param name="databaseColumn">The database column.</param> /// <param name="foreignKeyName">Name of the foreign key.</param> /// <param name="foreignTable">The foreign table.</param> /// <returns></returns> public static DatabaseColumn AddForeignKey(this DatabaseColumn databaseColumn, string foreignKeyName, Func <IEnumerable <DatabaseTable>, DatabaseTable> foreignTable) { if (databaseColumn == null) { throw new ArgumentNullException("databaseColumn", "databaseColumn must not be null"); } if (foreignTable == null) { throw new ArgumentNullException("foreignTable", "foreignTable must not be null"); } var table = databaseColumn.Table; var fkTable = foreignTable(table.DatabaseSchema.Tables); return(databaseColumn.AddForeignKey(foreignKeyName, fkTable.Name)); }
/// <summary> /// Adds a foreign key with a single column (without a name) /// </summary> /// <param name="databaseColumn">The database column.</param> /// <param name="foreignTableName">Name of the foreign table.</param> /// <returns></returns> public static DatabaseColumn AddForeignKey(this DatabaseColumn databaseColumn, string foreignTableName) { return(databaseColumn.AddForeignKey(null, foreignTableName)); }