---
# System prepended metadata

title: Ado.Net(1)
tags: [ado.net]

---

# 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的紀錄