许多级别的导航属性需要很长时间才能持久化

时间:2014-10-05 17:54:18

标签: c# entity-framework

我的模型如下:

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

相当复杂的模型和层次结构。当我保存传入请求时,需要15秒。

我如何加快速度?

1 个答案:

答案 0 :(得分:2)

EF可以在更复杂的情况下生成一些monsstruous SQL语句。在您的情况下,这可能是一个问题。但我也读过this post,其中存在DataType不匹配,导致EF执行速度太慢。

EF期望nVarChars voor String Field / Columns,但如果它们实际上是数据库中的varchar,则可能会导致一些严重的性能问题。希望你能在链接帖子的帮助下解决问题。

此外,EF(或者我认为通常更多)&#34;首先查询&#34;可能需要一些时间来初始化连接,初始化EF上下文等等。所以你应该真正解决一些事情搞砸的领域。直接重复相同的insert语句是否执行slsow作为第一个?