ADO.NET 學習指南
2021-04-11
筆記深入 ADO.NET 以更熟悉 .NET 開發生態系以及瞭解 ORM 與 ADO.NET 互動個關係。
說明
為什麼需要知道 ADO.NET
- ADO.NET 是 EntityFramework、NHibernate 及 Dapper 等 ORM 框架的資料存取底層
- 相較於 ORM,ADO.NET 的資料存取速度最快
- 可以存取多種的資料來源
ORM 所帶來的優點與缺點
⭕️ 物件對照關係,利於物件導向開發
⭕️ 資料存取的方式簡便,所需撰寫的程式碼較少,並且不需要寫 SQL 語法
⭕️ 將資料庫進行抽象化,讓開發專注在物件使用上
❌ 存取速度較慢、可能會產生效能不佳的查詢語法
❌ 對於預存程式的使用可能會發生問題
❌ ORM 改版可能會使原本使用的存取技術發生問題
ADO.NET
ADO.NET 物件類別與關鍵字。
Connected Classes
Connection, Transation, Command, DataAdaper, DataReader
Disconnected Classes
DataSet, DataTable, DataView, DataRow
Builder Classes
ConnectionString Builder, CommandBuilder
Providers
{
'SQL Server': {
'namespace': 'System.Data.SqlClient',
'provider': ['SqlConnection', 'SqlCommand', 'SqlAdapter']
},
'OLE DB': {
'namespace': 'System.Data.OleDb',
'provider': ['OleDbConnection', 'OleDbCommand', 'OleDbAdapter'],
},
'ODBC': {
'namespace': 'System.Data.Odbc',
'provider': ['OdbcConnection', 'OdbcCommand', 'OdbcAdapter'],
},
'ORACLE': {
'namespace': 'System.Data.OracleClient',
'provider': ['OracleConnection', 'OracleCommand', 'OracleAdapter']
}
}