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