8.4.4 在數據訪問類里使用DataSet
沒有理由說你不能把DataSet或DataTable作為自定義數據訪問類的方法的返回值。例如,可以使用DataSet重寫前面的GetEmployees()方法:
![]() |
有意思的是,這樣的寫法和你已經掌握的特性一樣。例如,下一章你將學習使用ObjectDataSource來綁定自定義類。ObjectDataSource對用戶自定義類的支持和對DataSet對象的支持一樣優(yōu)秀(它們具有基本相同的性能)。
使用DataSet方式有一些限制。雖然DataSet是非連接數據的理想容器,你還是會發(fā)現某些方法返回獨立的DataTable對象甚至DataRow(如GetEmployee()方法的返回值)對象更方便一些。不過,這些對象沒有DataSet那樣級別的綁定,所以你需要在更清晰的編程模型(使用不同的非連接對象)和更大的靈活性(總是使用完整的DataSet,即使只返回單個記錄)間做出選擇。另一個限制是DataSet是弱類型的。也就是說,沒有編譯時的語法檢查也沒有智能提示來確保你使用了正確的字段名稱(和自定義數據源類如EmployeeDetails不同)。你可以按本章8.6節(jié)所介紹的那樣通過生成強類型的DataSet來解決這一問題。