internal static DataTable GetForeignKeyData(Bd.Database db) { #region sql string sql = @"SELECT FK.constraint_name as ForeignKeyName, FK.table_name as ForeignKeyTable, FKU.column_name as ForeignKeyColumn, UK.constraint_name as PrimaryKeyName, UK.table_name as PrimaryKeyTable, UKU.column_name as PrimaryKeyColumn FROM Information_Schema.Table_Constraints AS FK INNER JOIN Information_Schema.Key_Column_Usage AS FKU ON FK.constraint_type = 'FOREIGN KEY' AND FKU.constraint_name = FK.constraint_name INNER JOIN Information_Schema.Referential_Constraints AS RC ON RC.constraint_name = FK.constraint_name INNER JOIN Information_Schema.Table_Constraints AS UK ON UK.constraint_name = RC.unique_constraint_name INNER JOIN Information_Schema.Key_Column_Usage AS UKU ON UKU.constraint_name = UK.constraint_name AND UKU.ordinal_position =FKU.ordinal_position"; #endregion DataTable foreignKeyData = db.GetDataTable(sql, CommandType.Text); return(foreignKeyData); }
public MsSqlSmoSchemaExtractor(string connectionName) : base() { this._daoDatabase = Db.For(connectionName); string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString; ConnectionString = connectionString; }
public MsSqlSmoSchemaExtractor(MsSqlDatabase database) : base() { this._daoDatabase = database; ConnectionString = database.ConnectionString; }
public virtual void Execute(Database db) { DataSet = base.GetDataSet(db); OnExecuted(db); this.Reset(); }