ADO.NET Entity Framework 使用中的经验总结
ADO.Net EF框架非常的靈活,好的習(xí)慣可以提高性能,而不好的習(xí)慣就會減少性能,為了提高性能簡化開發(fā),總結(jié)網(wǎng)絡(luò)給出下面的經(jīng)驗。
1.如果要擴展實體類的功能,應(yīng)該通過“部分類”(partial)實現(xiàn)
2.如果需要借助ObjectContext對象查詢或更新數(shù)據(jù)庫,應(yīng)將ObjectContext定義為方法參數(shù),而不是在業(yè)務(wù)邏輯層中創(chuàng)建ObjectContext對象(這種方法來減少ObjectContext 但代碼很好看)。
3.通過主鍵獲取對應(yīng)實體,聽說下面的方法會讀取緩存,性能很好(還沒有測試過)
int Id = 10248;//參數(shù)object o; //返回值NorthwindEntities ne = new NorthwindEntities();ne.TryGetObjectByKey(new System.Data.EntityKey("NorthwindEntities.Orders","OrderID",Id), out o); 4.通過CompiledQuery.Compile()預(yù)編譯查詢5.多個 ObjectContext 共享一個 EntityConnection 對象6.PerWebRequest 每次請求唯一模式,也就是每次請求創(chuàng)建一個EF對象連接。7.????我覺著這位朋友的話說的有道理:很多人質(zhì)疑它的性能,其實它肯定是比直接SQL語句訪問要慢一些的,就像.Net會比C++程序慢一樣。
但即使慢,也是一個絕對可以接受的范圍,并且這是在絕大多數(shù)商業(yè)應(yīng)用中都可以被忽略的差異,這里沒有多少人做的應(yīng)用需要充分爭取數(shù)十毫秒左右的響應(yīng)時間,但絕對有人希望讓項目提前幾天完工:這就是它帶來的正面效果,這還是物有所值的。
最后我想說,不要因為聽到他人的負面說法就放棄一個技術(shù)的學(xué)習(xí)和研究,只有我們真正的了解了他才能更好的去判定他的價值。
?未完!???
?
?
?
參考文章:http://www.cnblogs.com/SkyD/archive/2009/07/20/1526767.html轉(zhuǎn)載于:https://www.cnblogs.com/finehappy/archive/2010/03/07/1680241.html
總結(jié)
以上是生活随笔為你收集整理的ADO.NET Entity Framework 使用中的经验总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 03 - const static ex
- 下一篇: 电气工程师需掌握哪些计算机知识,一名合格