我正在运行一些修正代码,这些代码覆盖了一大堆实体,因为它的运行速度在下降,这是因为在上下文中被跟踪的实体的数量随着每次迭代的增加而增加。这可能会花费很长的时间,所以我在每次迭代结束时保存修改。每个迭代都是独立的,并且不更改以前加载的实体。
我知道我可以关闭变更跟踪,但是我不想关闭,因为它不是一个大容量插入代码,而是加载实体和计算一些东西,如果数字不正确,设置新的数字和更新/删除/创建一些额外的实体。我知道我可以为每个迭代创建一个新的 DbContext,这可能比在同一个实例中执行所有操作更快,但我认为可能有更好的方法。
所以问题是: 有没有办法清除先前在 db 上下文中加载的实体?