コード例 #1
0
        /// <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, fkTable.SchemaOwner));
        }
コード例 #2
0
 /// <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));
 }