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;
 }
Example #4
0
 public virtual void Execute(Database db)
 {
     DataSet = base.GetDataSet(db);
     OnExecuted(db);
     this.Reset();
 }