SqlObjectBase 類別

定義

SQL Enumerator 的主要工作馬。 它會產生一個層級的 TSQL,並與其他層級通訊

[System.Runtime.InteropServices.ComVisible(false)]
public abstract class SqlObjectBase : Microsoft.SqlServer.Management.Sdk.Sfc.EnumObject, Microsoft.SqlServer.Management.Sdk.Sfc.ISqlFilterDecoderCallback
[<System.Runtime.InteropServices.ComVisible(false)>]
type SqlObjectBase = class
    inherit EnumObject
    interface ISqlFilterDecoderCallback
Public MustInherit Class SqlObjectBase
Inherits EnumObject
Implements ISqlFilterDecoderCallback
繼承
SqlObjectBase
衍生
屬性
實作

建構函式

名稱 Description
SqlObjectBase()

預設建構商

屬性

名稱 Description
ConditionedSqlList

前綴、後尾等,這些欄位必須在被請求時加入

ConnectionInfo

連接物件

(繼承來源 EnumObject)
Distinct

結果必須是明確的

Filter

此層級的篩選器

(繼承來源 EnumObject)
FixedProperties

已知值的屬性列表,例如:若 fileter 格式為 [@Name='fff'] 或 [@Name='fff' 且 (xxxxx ) ]

(繼承來源 EnumObject)
Name

XPATH 層級名稱

(繼承來源 EnumObject)
OrderByRedirect

用於將後製處理欄位中的訂單 BY 轉換成其他支援欄位

PostProcessList

該關卡的後製處理

PropertyLinkList

屬性連結

Request

此層級的請求,會從下一層接收,若是最後一層則由使用者發出

(繼承來源 EnumObject)
RequestParentSelect

儲存在父選區(當我們需要父層級的 tsql,通常是用來插入前綴時)

ResultTypes

回報此層級所支援的結果類型

SpecialQuery

儲存一個用於測試條件的查詢,例如是否有需要解決此層級的表格,若未通過,則回傳空集合而非例外

SqlRequest

此層級必須解決的 SqlRequest

StatementBuilder

TSQL 佔位符 + 之後會在 TSQL 中轉換的資訊

SupportsParameterization

SQL Enumerator 的主要工作馬。 它會產生一個層級的 TSQL,並與其他層級通訊

Urn

這個財產只在申請被處理時才會存在

(繼承來源 EnumObject)

方法

名稱 Description
AddConditionals(String)

如果請求屬性:field,則必須新增 SQL。

AddConditionalsJustPropDependencies(String)

加入所有支持它所需的資料

AddConstantForFilter(String)

FilterDecoder 報告說,過濾器中使用了一個常數,讓客戶端有機會修改它

AddFilterProperty(String)

Xpath 掃描器偵測到此特性被用於過濾器,新增支援所需的資料,回傳值

AddLinkProperty(String)

加入所需的支援,也就是回報價值

AddOrderByAcrossDatabases()

當 TSQL 跨資料庫執行時,加入 Order by 子句

AddOrderByInDatabase()

當 TSQL 在單一資料庫中執行時,加入按順序子句

AddOrderByProperty(String, Boolean)

如果 overrideFlags 是 true,則補充 TSQL 是依屬性名稱排序的資訊,不要檢查使用這個屬性是否合法來排序:

AddOrderByProperty(String)

Xpath 掃描器偵測到此特性被用於新增支援所需的 returnvalue

AddProperty(ObjectProperty)

加入屬性集合

(繼承來源 EnumObject)
AddPropertyForFilter(String)

名稱屬性用於過濾器

BeforeStatementExecuted(String)

允許子類別對陳述句添加任何內容

BuildStatement(EnumResult)

建置語句

ClearHits()

清除所有已啟用的條件 TSQL,該欄位在請求中被啟用

ComputeFixedProperties()

計算固定屬性的清單(其值可從濾波器推導出)

(繼承來源 EnumObject)
FillData(ResultType, StringCollection, Object, StatementBuilder)

準備 n 次查詢,最後一次填寫資料

FillDataWithUseFailure(SqlEnumResult, ResultType)

從 SQL Server 取得資料。 如果我們無法進入資料庫,那就忽略那個資料庫

GetAliasPropertyName(String)

取得屬性名稱,因為在結果集中會被別名到使用者

(繼承來源 EnumObject)
GetData(EnumResult)

請將本層級的資訊填入 StatementBuilder

GetFixedStringProperty(String, Boolean)

取得固定(從濾波器中已知值)的屬性,該屬性為字串

(繼承來源 EnumObject)
GetProperties(ObjectPropertyUsages)

透過使用法回傳物件屬性

(繼承來源 EnumObject)
GetProperty(String, ObjectPropertyUsages)

屬性的存取器依名稱與用途(內部使用)

(繼承來源 EnumObject)
GetSqlProperty(String, ObjectPropertyUsages)

如果屬性欄位在使用上合法,就拿出來,否則丟棄

GetUrnProperties()

在我們有正式方法讓每個物件宣告其用於 urn 的性質之前,嘗試以下最佳推測方法:

(繼承來源 EnumObject)
Initialize(Object, XPathExpressionBlock)

初始化此層級

(繼承來源 EnumObject)
IntegrateParentResult(EnumResult)

將此層級的 StatementBuilder 與父層級的結果結合

PostProcess(EnumResult)

執行任何後製程動作

ResolveComputedField(String)

已使用計算場。 回傳其動態計算的值

ResolveLocalLinkLinks()

解決所有可在本地層級解決的連結

RestoreInitialState()

讓物件進入乾淨狀態,移除所有更改以解決當前請求的內容

RetrieveParentRequest()

取回將送達家長層級的請求。 我們必須在這裡溝通家長層級需要的資訊

StoreInitialState()

用靜態資訊預先初始化物件。 (解決本地連結)

TryGetProperty(String, ObjectPropertyUsages)

屬性的存取器依名稱與用途(內部使用)

(繼承來源 EnumObject)

適用於