2014-04-01 90 views
0

當前使用VS2013 Express和SQL Server 2012 Express來爲應用程序建模。根據需要,其中一個或兩個軟件包可以稍後升級到付費版本。實體框架與SQL Server Express緩慢添加記錄

我對C#相當陌生,但認爲自己是Excel/Access的中級VBA程序員。

應用程序將使用數據加載數據庫。在我目前正在開發的模塊中,每個原始數據文件生成〜17k條記錄 - 但是,在下一個模塊中這將會大大提高。但使用實體框架,加載過程非常緩慢。以前的版本使用表格適配器,並花費了合理的時間。

據我所知,生成框架視圖可能會加快速度。我發現這和其他網站的幾個條目,包括:

Fastest Way of Inserting in Entity Framework Visual Studio 2013 and Entity Framework

使用框架即使是最好的方法呢?在VS和SQL Express版本的範圍內,我可以做些什麼來優化性能?

+0

更多鏈接:http://blogs.msdn.com/b/adonet/archive/2008/06/20/how-to-use-a-t4-template-for-view-generation.aspx http: //msdn.microsoft.com/en-us/library/bb896240(v=vs.100).aspx http://blogs.msdn.com/b/appfabriccat/archive/2010/08/06/isolating-performance -with-precompiled-pre-generated-views-the-the-entity-framework-4.aspx – user3483624

+0

EF對於批量插入來說並不好。如果一次插入所有內容,它可以在單個事務中完成,但它會使用大量的本地資源來準備所有這些記錄的上下文。如果你一次只做一個,你就會多次與數據庫通信。如果您想嘗試改進,請嘗試將它們分組,每次可能有100個,並查看是否有幫助。 –

+0

請記住,隨着EF的便利,您將獲得數據上下文,實體狀態,更改跟蹤等的所有開銷。如果您的數據過程足夠簡單,那麼普通的舊ADO.NET仍然是最快的方法通過.NET執行SQL。 –

回答

0

您可以嘗試編譯您的Linq查詢或嘗試讓Entity以任何其他方式更快,但不要浪費您的時間,在這種情況下使用ADO.NET。

相關問題