我從實體框架開始。聽起來不錯。但我想知道我是否應該在某處注意某些弱點。那裏的任何經驗?您在實體框架中發現的最煩人的功能(或缺少功能)是什麼?
5
A
回答
5
您可能需要在您正在討論的版本前面添加這些問題的前綴。在.NET 4.0的即將發佈的版本中,已經修復了大量的煩惱。
這裏是SQL 2K8使用一個體面的大小與數據庫的第一個版本的工作約6個月後,我會說什麼(40+表,幾個表有近100萬行,交通體面量)
- 缺少外鍵屬性。意思是如果我想知道或僅使用相關表的ID,我必須加載實際的實體。 (固定在下一個版本)
- 完全缺乏一個簡單的外部聯接像linq到SQL有使用時DefaultIfEmpty。在下一個版本中修復。
- 生成的SQL小於最佳這似乎是固定在下一版本以及
- 很難從你的代碼抽象爲可測試性併爲多層次的環境使用,但它可以做到。這也可以歸類爲也已經解決的POCO問題。
還有更多,但這些是我的第一。
總的來說,我會再次使用它,但如果你是從頭開始,請保存自己的一些痛苦和等待最新版本或開始使用測試版,如果可以的話。
2
您可能會找到walkthroughs for Entity Framework 4.0 useful。所討論的所有新功能都是來自當前發佈的版本的令人討厭的排放。
我發現新的TDD /可測試性功能和T4代碼生成功能特別有趣。
-1
我在EF4測試版中發現POCO對象和模型優先設計非常性感。
1
關於EF1:
- 生成的SQL是可怕的。它的倍數加起來,比它大10倍。我有一個簡單的查詢,但有很多連接,並通過EF生成此查詢(不執行)顯着減慢我的應用程序。不,我無法使用預編譯查詢。我用視圖來應付它。 SQL Profiler很有幫助。
- 視圖中的主鍵無法正確識別。導入視圖或執行模式刷新時,必須手動更改edmx文件。
- 您可以用圖形方式從數據庫設計實體,從數據庫更新模型,但它並不總是很好,特別是當您更改字段類型或外鍵時。
- 你不能更新模型中的一個表,總是必須從數據庫更新整個模型。
- 你不能爲你的實體定義基類,它已經被定義(EntityObject)。您可以使用接口,因爲類被定義爲部分。
- 沒有POCO,實體類與框架強連接。
- 您可以通過EntityReference.EntityKey設置外鍵,但是當您擁有EntityCollection時,準備往返數據庫。或者我錯過了什麼?
相關問題
- 1. 實體框架4缺少的功能?
- 2. 什麼是你最喜歡的web框架中缺少的一個功能?
- 3. 什麼是您使用的ORM框架的最佳功能
- 4. 實體框架6.1.2中的新增功能是什麼?
- 5. 在一種語言/框架/ API中,您最喜歡的功能是什麼
- 6. 功能導入實體框架的OrderBy
- 7. 您是如何在MVVM中成功實現MessageBox.Show()功能的?
- 8. NDK,爲什麼它缺少SDK功能?
- 9. 煩人的「功能」(或錯誤?)爲RODBC
- 10. 什麼私人框架或功能提供多任務處理?
- 11. 從LINQ到SQL到實體框架,你想要什麼功能?
- 12. Azure的功能 - 'AzureWebJobsServiceBusConnectionString' 缺少
- 13. LINQ to SQL:如何實現最少或類似的功能?
- 14. ggplot2中缺少功能區
- 15. 實現忘記密碼功能的最佳方式是什麼?
- 16. 實現與實體框架搜索功能
- 17. 什麼是觸發功能
- 18. 是fabricjs.d.ts真的缺少動畫功能?
- 19. 此語言功能('缺少類型')尚未在Roslyn中實現
- 20. 您使用的CMS的最佳界面功能是什麼?
- 21. 什麼能在PHP中實現瓶頸cURL的多功能?
- 22. Phoenix框架中的匹配/ 3功能是什麼?
- 23. 什麼是最想要的SharePoint功能?
- 24. Application Insights的最低功能是什麼?
- 25. C1X最有用的功能是什麼?
- 26. 什麼是WPF最酷的功能
- 27. Memcached最強大的功能是什麼?
- 28. 爲什麼電話SDK中缺少XAML的功能?
- 29. 缺少std :: string功能
- 30. FirstResponder缺少一些功能
我想你認爲性感與我的不同...... :)我會說這是令人興奮的,但不是在「等待我的cialis在綠色的田野坐在浴缸中坐着時踢有點方法「 – 2009-12-18 22:35:30