2010-05-12 48 views
1

.net程序中的主要主題是「如何管理內存以獲得最佳性能」。 因此微軟在.net中使用垃圾回收器,並且由此,我們不需要爲管理內存做些事情(或者更好地說我們可以輕鬆地使用GC)如何管理Big Linq DataContext?

但是當您開發大型項目(商業應用程序)時,您爲自己的項目製作太多的表格和數據庫。所以如果你使用Linq-to-sql,我們必須構建包含數百個或更多表的DataContext。當你從datacontext創建一個對象時,這會給程序帶來問題,該對象會給予大量內存。我們也不能分割的DataContext到datacontexts(曲子表之間的關係)

所以「如何管理的datacontext和記憶」?

+1

就我個人而言,我曾經有大約85臺在一個DataContext,有幾個GB的100的數據,在Rackspace公司雲上運行。該應用程序工作得很好 – Midhat 2010-05-12 05:58:28

+1

你說:「當你從datacontext創建一個對象時,這會給程序帶來問題,該對象會給予大量內存。」爲什麼要這樣呢?你遇到過什麼特別的問題嗎?你確定這個問題不是來自別的嗎? – Jens 2010-05-12 06:02:38

+1

我不知道內存管理是.net編程中的「主要問題」(對於某些程序而言,但這是過度泛化)。您似乎暗示DataContext在加載任何數據之前會佔用大量內存。你真的測過這個嗎? – 2010-05-12 06:08:51

回答

0

由於Midhat已經評論,有數百個表和大量數據的大型數據庫不應該是的LINQ to SQL或任何O/RM工具什麼那麼任何問題。也許你做錯了什麼。如果您遇到問題,請嘗試在此張貼一些代碼,以便我們查看。也許問題在於你正在緩存一個DataContext。是的,這會出錯。我剛纔在SO上回答了一個類似的問題,那可能會讓你感興趣。 Read it while it's hot.

+0

我閱讀了你的「熱門答案」:)。但是爲了測試這些解決方案,我需要時間。之後,我發送郵件結果在這裏。感謝您的幫助(意思熱門幫助) – Rev 2010-05-16 04:55:29