ADO/ADO.NET 推廣「通用資料存取」,但各資料庫的可編程特性、SQL 方言、鎖機制、游標行為差異極大。若只用共同子集(最小公倍數),將失去針對特定資料庫的最佳優化(如 SQL Server 表值參數、Oracle 管線函數、MySQL INSERT ... ON DUPLICATE KEY UPDATE)。
IDbConnection、IDbCommand、IDataReader 等標準介面,上層依賴抽象。SqlServerDAL、OracleDAL、MySqlDAL),內部自由使用存儲過程、批次命令、特有語法。專用 DAL 代碼通常佔總代碼量 < 10%,遠低於重寫整個應用成本。換取的是:原生效能、原生功能、原生穩定性。這才是可移植與高效的最佳平衡點。