我正在使用實體框架和自我跟蹤實體使用WPF的個人項目。我有一個WCF Web服務,它爲CRUD操作提供了一些方法。今天我決定做一些測試,看看究竟是通過這項服務傳播的,儘管我期望這樣的事情,但我真的很失望。問題是,對於一個對象的簡單更新(或刪除)操作 - 可以說類別我向服務器發送整個對象圖,包括其所有父類別,其項目,子類別及其項目等。我的情況是一個非常小的數據庫(2個主要類別,大約20個總計和大約60個項目)上的170 KB xml文件。我無法想象如果我有一個非常大的數據庫會發生什麼。自我跟蹤實體流量優化
我試圖谷歌關於與STE流量優化的一些文章,但沒有成功,所以我決定問這裏是否有人做過類似的事情,知道一些好的做法等
一個可能的方法我想出了與更多的服務電話獲得我每個對象所需要的數據:
return context.Categories.ToList();//only the categories
...
return context.Items.ToList();//only the items
相反的:
return context.Categories.Include("Items").ToList();
這樣的CATEG ories和項目將被分開,並且在更改或刪除某些對象時,通過線路發送的數據將會更少。
有沒有人遇到類似的問題,您是如何解決這個問題的?或者您是否解決了這個問題?
爲什麼不使用自我跟蹤實體的一個原因。我認爲它有一些開銷,因爲原始值可能通過電線傳輸。 – yonexbat
是的,他們是。我還認爲,就優化和創建嚴重的應用程序而言,使用ADO.NET或其他技術要好得多,因爲您無需發送兆字節數據即可更改單個字母,無論其他好處如何,Entity Framework爲您提供。他們對我來說(可能不僅僅是我)不足以讓我閉上眼睛。 –