我一直在使用實體框架和自我跟蹤實體代碼生成模板,用於我最新的Silverlight到WCF應用程序。這是我第一次在實際項目中使用實體框架,我希望當我的數據庫模式發生變化時能夠自動更新項目的整個數據訪問層,從而節省了大量的時間和精力。實體框架+自我跟蹤實體應該爲我節省時間
令人高興的是,我發現通過添加一個新表,更改列名,添加新列等等來更新我的數據庫模式可以通過使用數據庫更新傳播到我的業務對象類選項在實體框架模型上。
我受傷的地方在於我的WCF服務中的CRUD操作,以響應我的Silverlight客戶端上的操作。我在我的Silverlight應用程序中使用了相同的自我跟蹤實體框架業務對象,但是我發現我不斷需要解決諸如在更新對象時沒有正確處理外鍵關聯或更改跟蹤器對關於對象在Silverlight結束和WCF層內的數據訪問操作拋出一個搖擺不定。
現在,我已經花了更多的時間處理這些怪癖,而不是我之前的項目中使用Linq-to-SQL作爲滾動自己的業務對象的起點。
它只是我無望或自我跟蹤實體的方法應該避免,直到它更成熟?
您是否對此有任何結論?我目前正在考慮從自身跟蹤實體轉換LinqToSQL到EF,所以我真的很想知道。 – 2010-06-10 09:47:08
我一直堅持自我追蹤的實體,而不是回覆到L2S或手卷類。如果我必須再次做同樣的事情......我可能會試着堅持使用實體框架,我認爲它用於DAL的建模方法是一條可行的路線,一旦獲得了它的良好理解,它將會轉化爲提高生產力。我不太確定自我跟蹤實體。模板代碼絕對可以改進,希望它們在未來幾個月能夠更新。 – sipwiz 2010-06-10 13:55:16