2013-05-03 56 views
3

我正在使用實體框架5與大型數據庫與600 +表(尚未計入存儲過程和視圖)。在嘗試更新我的Model.EDMX文件(使用右鍵單擊「從數據庫更新」)或簡單地嘗試編譯時,幾次啓動並運行使用Visual Studio 2012後,出現「內存不足」錯誤。使用實體框架與大型數據庫(600+實體)時內存不足

快速谷歌搜索說很多人面臨類似的問題,有人在一個論壇建議使用多個EDMX文件來避免這種情況。 (鏈接http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/b4ce1494-a0b4-42c6-af56-4ecbfeb83e29

我的問題是 1)是否有任何方法可以讓我避免這種錯誤,並使用大量的表格,而不再與EF麻煩嗎? 2)Entity Framework模型對我來說是否適合大型企業數據庫?如果沒有,有人可以建議我好嗎?

在此先感謝

+0

如果你想要回答這兩個問題,你應該分開發布它們。 – xpereta 2013-05-03 12:34:05

+0

當上升失敗並出現「內存不足」錯誤時,Visual Studio進程實際上是否有可用內存?確保你的開發機器中有足夠的內存。它可能只是更新數據庫對象需要比添加它們更多的資源。請參閱下面的答案。 – xpereta 2013-05-03 12:40:24

+0

在我的開發筆記本電腦上,我沒有運行其他任何東西,然後是Visual Studio 2012和此示例應用程序。任務欄顯示沒有令人擔憂的統計信息 – 2013-05-03 12:57:10

回答

0

要回答你的第一個問題。

我發現更新實體框架在所有情況下似乎都不可靠。

您是否嘗試刪除模型中的所有對象並再次插入它們?這可能是一個可接受的解決方法。

+0

我通過刪除模型嘗試了幾次。它工作幾次(調試/編譯),然後停止。 – 2013-05-03 12:55:19

0

我建議花一些時間看看nHibernate。就用戶界面而言,它不如用戶友好,但如果您要處理大量表格,這對您應該是一大優勢。

http://nhforge.org/Default.aspx

而且,你知道,你不必所有表的映射在你的實體模型?你可以帶上你需要的東西。我假設你不需要所有600個表格。