【问题标题】:Entity framework - Intensive CPU load on Add实体框架 - 添加时的密集 CPU 负载
【发布时间】:2013-05-17 01:37:28
【问题描述】:

我有一个小项目,大约有 20 个表,其中行条目的内容大小最小,但表之间有很多关系。

我首先使用代码,所有导航属性都设置为虚拟。

今天我注意到,当我使用 Add 方法将实体添加到 DbSet 时,并且实体有大约 6-7 个外键,将大约 2000 个实体添加到 DbContext(不执行 SaveChanges)大约需要 30 秒,而 CPU 是卡在 100%。

当实体具有太多虚拟导航属性时,是否存在已知的性能损失?

【问题讨论】:

    标签: performance entity-framework entity-framework-4 entity-framework-5


    【解决方案1】:

    很可能 EF 只是跟踪更改,因为您的实体不跟踪实体,所以 ef 会花时间搜索相关实体。

    我的第一个尝试是尝试让您的实体“更改跟踪实体”,您可以通过将所有属性设为虚拟来实现,而不仅仅是导航属性。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多