【发布时间】:2012-03-19 20:16:24
【问题描述】:
我有一个奇怪的问题,当我尝试使用 ObjectSet(TEntity).AddObject() 添加一个新实体时,与正常行为相比,它非常慢,大约需要 500 毫秒,而且它只发生在一个场合,我确信需要一些时间的指令是 AddObject 而不是 SaveChanges。
代码很简单
ObjectEntity obj = businessObj.ExtractEntityObj();
context.ObjectTable.AddObject(ObjectEntity);
在调用这部分代码之前,我对 ObjectContext 做了一些工作,但它并不比我在所有其他操作中所做的多,这似乎取决于有多少具有相同外键的项目存储在数据库中,我知道这听起来很奇怪,但它是唯一改变同一指令性能的变量。我还注意到,如果我在新的 DataContext 上尝试这样做,性能会恢复正常(几毫秒),但对于架构问题,我每次必须完成某事时都无法拥有新的 DataContext。
有人可以帮我吗? 谢谢
【问题讨论】:
-
您必须提供更多详细信息。这就像:我有一个特殊情况发生这种情况,但我不会告诉你任何关于这种情况的事情。为什么会这样?
-
如前所述,如果不了解更多信息,很难说。但即便如此,我也感觉到即将举行性能分析会议,而这是你必须自己做的事情。
标签: entity-framework entity-framework-4 linq-to-entities entity-framework-4.1