2014-10-05 37 views
-1

我有一個模型,如下所示:許多導航性能水平需要很長時間才能堅持

Request 
    Hgx 
     ICollection<Project> 
      ICollection<Sample> 
      ICollection<Typing> 
       .... 

一個非常複雜的模型和層次。當我保存傳入的請求時,需要15秒。

我該如何加快速度?

+0

這只是一個預感,對不起,如果我只是浪費OP下的空間。屬性是否是虛擬的(啓用延遲加載),可能是從數據庫檢索到太多數據? – Yoda 2014-10-05 18:04:30

+0

我只做插入。有很多這樣的導航屬性。, – DarthVader 2014-10-05 18:05:19

回答

2

EF可以在更復雜的情況下生成一些晦澀的SQL語句。這可能是你的情況的一個問題。但我也讀this post,其中存在導致EF執行方式太慢的DataType不匹配。

EF期望nVarChars voor字符串字段/列,但如果它們實際上是數據庫中的varchar,則可能會導致一些嚴重的性能問題。希望你可以在鏈接的文章的幫助下對其進行排序。另外,EF(或者更一般地說我相信)「第一次查詢」可能需要一些時間來初始化連接,初始化EF上下文等等。所以你應該真的解決一些事情弄糟的地方。對同一個插入語句的直接重新編譯是否像第一個語句一樣執行slsow?

相關問題