protected List <TSchemaConstraint> FetchTableConstraints <TSchemaConstraint>(InfoSchemaTable table)
     where TSchemaConstraint : InfoSchemaTableConstraint, new()
 {
     return(_dbManager.Sql()
            .Select()
            .AllColumns()
            .From
            .Table <TSchemaConstraint>("Constraints")
            .Where
            .Criteria("ConstraintSchema", SqlOperand.Equal, table.TableSchema)
            .Criteria("ConstraintCatalog", SqlOperand.Equal, table.TableCatalog)
            .Criteria("TableName", SqlOperand.Equal, table.TableName)
            .Execute <TSchemaConstraint>());
 }
 protected List <TSchemaColumn> FetchTableColumns <TSchemaColumn>(InfoSchemaTable table)
     where TSchemaColumn : InfoSchemaColumn, new()
 {
     return(_dbManager.Sql()
            .Select()
            .AllColumns()
            .From
            .Table <TSchemaColumn>("Columns")
            .Where
            .Criteria("TableSchema", SqlOperand.Equal, table.TableSchema)
            .Criteria("TableCatalog", SqlOperand.Equal, table.TableCatalog)
            .Criteria("TableName", SqlOperand.Equal, table.TableName)
            .OrderBy
            .Column("OrdinalPosition")
            .Execute <TSchemaColumn>());
 }