我正在閱讀一本書,它說:「如果您將使用ADO.NET創建自己的數據訪問層以訪問您的數據庫,那麼對數據架構是否存在的影響最小。 O/RM,您的靈活性將受到您使用的工具的限制「。 ADO.NET和其他ORM之間的主要區別是什麼?orm和ADO.net有什麼區別?
回答
ADO.NET提供一致的訪問數據源,如SQL Server 和XML,以及通過OLE DB和ODBC暴露的數據源。 數據共享的消費者應用程序可以使用ADO.NET連接到這些 數據源和檢索,處理和更新他們 包含的數據。
ADO.NET將數據訪問和數據操作分離爲離散的 組件,可以單獨使用或串聯使用。 ADO.NET包含用於連接到數據庫,執行 命令並檢索結果的.NET Framework數據提供程序。這些結果要麼直接處理 ,要麼置於ADO.NET DataSet對象中,以便以特定方式向用戶展示 ,與來自多個 源的數據結合使用,或者在層之間傳遞。 DataSet對象也可以獨立於.NET Framework數據提供程序使用,以管理數據本地 到應用程序或源自XML。
ADO.NET是允許您連接到數據庫並使用SQL連接,命令,參數對其進行修改的層。 ADO.NET MSDN
對象關係映射(ORM,O/RM,和O/R映射工具)在 計算機科學是在面向對象的編程語言 轉換不兼容的類型的系統之間的數據 一種編程技術。實際上,這創建了一個「虛擬對象數據庫」,可以在編程語言中使用該虛擬對象數據庫。有跡象表明,執行的對象 - 關係映射 都提供免費 和商業軟件包,雖然有些程序員選擇構建自己的ORM 工具。
Entity Framework
和NHiberante
是ORM。這意味着你不需要通過SQL連接,命令,參數來操作--ORM工具可以幫你實現,它允許以OOP方式映射數據庫結構:你可以使用C#中的對象添加,讀取,更新和刪除數據庫中的記錄。您只需將您的對象正確映射到數據庫。 Entity Framework
建立在ADO.NET上,它使用ADO.NET內部。 SQL語句由ORM生成。 ORM
通常,不使用ORM訪問數據庫的速度會更快,但您應該提供更多的代碼行。如果你想以OOP方式操作你的數據庫並編寫更多可讀代碼,你應該選擇ORM。這取決於你的目的選擇什麼。
有微型ORM(Dapper,BLToolkit),它允許您編寫SQL查詢和映射參數到對象屬性。一般來說,微型ORM比完整ORM具有更好的性能,但ADO.NET仍然更快。
此外,還有StackOverflow上的一些問題和答案:EF vs ADO.NET
- 1. LINQ和ADO.net有什麼區別
- 2. ADO.NET源和OLEDB源有什麼區別?
- 3. ORM和ORDBMS有什麼區別?
- 4. ORM和ORP有什麼區別?
- 5. ORM和ODBC有什麼區別?
- 6. DataMapper和ORM有什麼區別?
- 7. ADO.NET DataService中的WriteReplace和WriteMerge有什麼區別?
- 8. ado.net數據服務和WCF數據服務有什麼區別?
- 9. ORM注入和SQL注入有什麼區別?
- 10. ORM和持久性框架有什麼區別?
- 11. ORM,AR,QB和DM之間有什麼區別?
- 12. 有什麼區別`和$(Bash中有什麼區別?
- 13. 有什麼區別? :和||
- 14. &&和||有什麼區別?
- 15. 「/」和「/ *」有什麼區別?
- 16. 有什麼區別:。!和:r!?
- 17. ==和===有什麼區別?
- 18. Appender和〜有什麼區別?
- 19. $ @和$ *有什麼區別?
- 20. is和=有什麼區別?
- 21. #.00和#。##有什麼區別?
- 22. `==`和`is`有什麼區別?
- 23. '=='和'==='有什麼區別?
- 24. /和/#/有什麼區別?
- 25. | 0和~~有什麼區別?
- 26. `&`和`ref`有什麼區別?
- 27. ==和===有什麼區別?
- 28. ==和===有什麼區別?
- 29. `{}`和`[]`有什麼區別?
- 30. JavaScript和=== ===有什麼區別?
和MS奇怪爲什麼人們不信任的認證。該語句意味着即使數據庫不存在,您也可以在代碼中編寫原始SQL查詢。這只是一個無法檢查或驗證的字符串。如果任何人這樣工作,他不應該被允許參加該考試 –
鏈接到有罪[書](https://ptgmedia.pearsoncmg.com/images/9780735677227/samplepages/9780735677227.pdf)。考試參考70-486開發ASP.NET MVC 4 Web應用程序 –