共用方式為


商務規則引擎中的資料存取

規則引擎僅支援原生 .NET 物件。 若要處理資料庫的資料,您可以直接使用 ADO.NET,不過,引擎可提供一些協助程式類別,以規則簡化資料庫資料的使用。 規則引擎會公開三種資料庫相關類型來擴充其支援: TypedDataRowTypedDataTableDataConnection。 本節描述這些協助程式類別、提供各種類型使用時機的建議,並討論使用這些類型時的部分效能影響。

協助程式類別如下:

  • TypedDataRow。 使用 ADO.NET DataRow實例的參考來建構。 TypedDataRow是規則的明顯選擇,只處理來自特定資料表一或少數資料列的資料。

  • TypedDataTable。 常值 TypedDataRow 物件的集合。 資料庫資料表中的每個資料列都會包裝為 TypedDataRow ,並由規則引擎判斷提示到工作記憶體中。

    TypedDataTable需要記憶體內部 ADO.NET DataTable,如果這個特定DataTable包含非常大量的資料列,可能是效能額外負荷。 如果資料庫資料表中的少量資料列相關,而且您可以在呼叫規則之前判斷這些資料列,請使用 DataTable,否則使用 TypedDataRow。假設 DataTable 中有大量的資料列與規則相關。

  • DataConnection。 代表透過資料庫連線存取之資料庫中的資料表。 DataConnectionTypedDataTable之間的差異在於,除了資料集名稱和資料表名稱之外,DataConnection還需要可用的資料庫連接,以及選擇性的資料庫交易內容。

    搭配 DataConnection 的規則中使用的部分或所有述詞,將會成為資料庫連接之查詢準則約束的一部分。 引擎只會從資料庫擷取並使用滿足查詢條件約束的資料列。 此機制提供更佳的效能,且耗用的記憶體比在記憶體中保存非常大 的 DataTable 少。

本節內容