2017-02-04 38 views
0

我應該用哪種方式在C#ASP.NET MVC 5中創建可伸縮系統?存儲過程方式或實體框架連接數據庫的方式

我應該使用存儲過程方式還是實體框架方式連接數據庫?

我們的一個頭的是堅持使用存儲過程的方式,甚至對所有的插入,刪除,搜索等

哪一個更好,在性能方面?我想創建一個在線測試文件,這個文件一次將由大約500人同時進行,每個人有50個問題。

+0

從我的觀點來看,EF比存儲過程要慢,但我不認爲500個請求足以看出差異。因此,我會建議使用EF,在你的情況**性能不應該**是一個問題,我會去可讀性和簡單的書面代碼。 – MaLiN2223

回答

0

我覺得你可以參考這個問題Entity Framework Vs Stored Procedures - Performance Measure

如果開發時間不是一個標準,那麼你可以去爲存儲過程。使用存儲過程還有許多其他問題,例如可維護性,編寫測試的能力等。由於MaLiN2223在您的案例性能差異方面的評論可能並不重要,因此無法證明寫入過程需要額外的努力。

0

它的基準取決於許多因素,一段時間後,你覺得這是很容易的,當數據將應用程序之中,過一段時間後使用有更多的時間你必須再想一想。

所以指這把entity framework performance

,所以你很容易理解。我想再給你一個開源項目的參考資料,所以這會幫助你,我希望。 http://www.nopcommerce.com/

當你看到這個應用程序代碼時,這實際上是優化EF的使用。 謝謝

0

在一個非常高的層次上,如果您已經有數據庫設置,如果您需要添加,更新或刪除記錄作爲您的功能的一部分使用實體框架。 EF有不同的配置選項來指定模型更改如何保存到數據庫。

如果您有批量批量更改,使用EF對於整個LINQ和SQL來回將會非常棘手。但是,EF上有擴展,允許批量操作。存儲過程擺脫了這個大驚小怪。但是,LINQ在型號安全,可測試等方面有其自身的優勢。

0

通過查看用戶數量,您可以使用任意一種。你不會看到太多的性能差異。我的經驗是,通過使用實體框架,您可以更快地開發存儲過程。 在存儲過程中使用Dapper可以是其他方法。坦率地說,你只能觀察到與大型數據庫的性能差異。