您好,我对实体框架相当陌生,想知道尝试从上下文中删除时什么更好。
是使用 .RemoveRange 传递集合更好,还是做我自己的循环并调用 .Remove 方法?
无论如何,他们最终可能会做同样的事情,但我有兴趣知道哪个是首选?
添加RemoveRange主要是为了方便,但使用它可以带来性能优势。这是来自 CodePlex 上的源代码:
请注意,如果 DbContextConfiguration.AutoDetectChangesEnabled 设置为 true(这是默认值),则 DetectChanges 将在删除任何实体之前调用一次,并且不会再次调用。这意味着在某些情况下,RemoveRange 的性能可能比多次调用 Remove 的性能要好得多。
如果您在上下文中跟踪了很多实体,则 DetectChanges 可能会出现相当大的性能问题。在循环中多次执行此操作可能会降低性能。
| 归档时间: |
|
| 查看次数: |
7323 次 |
| 最近记录: |