什麼是 .NET DataSet?

 o ADO.NET(.NET Framework 所提供的資料存取技術解決方案) 中最為主要的元件。
 o 它是一種資料容器(container)物件,是屬於記憶體的快取資料(in-memory cache of data)。
 o 它完全獨立於資料來源(如 資料庫系統),是離線的(disconnected)。
 o 它所讀取的資料來源可以是:
  o Database (SQL Server, Oracle ...)
  o Object (如 MQ 物件)
  o Web Service
 o 它內部可以包含多個表格(Table)的關連,並且可以同時從多個資料來源讀取資料至所定義的表格,儲存成為一列列(row)的資料。
 o 它內部的格式是以 XML 所定義的,所以可以序列化(serialized)為 XML 字串,以方便當成參數來傳遞。(例如,透過 Web Service 傳至 EJB Session Bean)。

DataSet 與 RDB 的連結關係

DataSet 內的 Table Schema

DataSet 的優勢
 o 中間層(middleware)的物件可以將 DataSet 視為是位於記憶體的資料庫(虛擬 DB),方便就近 “撈” 資料來處理。
 o 可攜性極高,隨時可以序列化為 XML,當成參數傳遞至其它如表單或物件來處理。
 o 當 DataSet 內的資料經過處理而變動後,由於需要與資料庫內的資料保持同步、維護一致性,所以需要再透過 Data Adapter 建立連線,寫回資料庫內。同步的過程,交由 ADO.NET 的交易機制來處理,這是屬於永續性(persistent) O-R (Object-Relation) mapping 的系統設計議題。

arrow
arrow
    全站熱搜

    alen1985 發表在 痞客邦 留言(0) 人氣()