# Ado.Net(1) ###### tags: `ado.net` .Net平台 -----技術---跨平台----- 1) ADO.NET: 否 (連線作業/離線作業) 2) Entity FrameWork: 否 (連線作業/離線作業) 3) EF CORE: 是 --- -----通知---跨平台----- 1) SqlDependency: 否 2) SqlTableDependency: 是 ## 連線模式/離線模式(優缺點) * 記錄量不多 * 記錄量很多(分段讀取): 1.利用DataAdapter的Fill方法. 2.自己做(使用SQL敘述,linq敘述,lambda敘述) 3.製作傳回IEnumerable/IQueryable介面的函式 | |連線作業|離線作業| | ------ |-------|--------| | 操作時間 |高|低| | 操作頻率 |低|高| --- 1) 連線模式: 優點:看的到最新的資料庫 缺點:對連線數(CAL)需求較高 特性:手動連/斷線 實作方式:使用Connection類別.Command類別 2) 離線模式: 優點:對連線數(CAL)需求較低 缺點:看不到最新的資料庫 特性:自動連/斷線 實作方式:使用DataSet類別+TableAdapter/DataAdapter類別 ## 資料庫應用程式架構 ### 第一層ACCESSL: 操作介面/運算/資料存取 ### 第二層: 操作介面(視窗程式)------資料存取---->資料庫 ### 第三層: 手機app/瀏覽器/操作介面-----Web伺服器--->網頁程式/服務------>資料存取-----資料庫 ## web服務與資料庫操作 常見的web服務類型:XML WEB Service,WCF服務/WCF資料/API服務 ## Ado.Net常用的類別: 4種類別: * SQLConnection=>SQL Server * OracleConnection=>Oracle * OleDbConnection=>其他資料庫 * OdbcConnection=>其他資料庫 **************** #### Connection: 與資料庫的連線,可以使用它來建立、打開、關閉和管理與資料庫的連線。在建立連線時,需要提供資料庫的連線字串(Connection String),這個字串包含資料庫的位置、使用者名稱、密碼等連線相關的資訊。 #### Command: 在資料庫中執行的SQL命令,例如SELECT、INSERT、UPDATE、DELETE等。它提供了執行SQL命令的方法 #### DataSet: 算是個容器,可以在其中存放多個DataTable(資料表).DataRelation(關聯),並對這些資料表進行查詢、排序、篩選等操作。 #### DataAdapter: 可以用於填充DataSet和更新資料庫,並對其進行 新增.刪除.更新資料.查詢等功能,可以對資料庫中的資料填充到 DataSet,也可以將DataSet中的修改傳回資料庫中 #### TableAdapter: 自動產生的類別,專門用於對單個資料表做存取,使用VS可以輕鬆建立TableAdapter,並自動生成對映的Select.Insert.Delete.Update的命令 #### DataView: 篩選.排序.搜尋DataSet的紀錄