【发布时间】:2019-07-16 15:05:02
【问题描述】:
我知道有一个Load 方法。
_dbContext.Entry(blog).Collection(b => b.Posts).Load()
但我正在尝试处理并发冲突,我已将 post 添加到 blog.Posts 中。如果调用Load,它不会清除blog.Posts,只需将现有的Posts附加到它。
我试过了:
blog.Posts = null;
_dbContext.Entry(blog).Collection(b => b.Posts).Load()
但是blog.Posts 变成了一个空集合(零计数)。
所以我想要一个Reload。
【问题讨论】:
-
您的基本问题似乎是尝试以多线程方式使用
DbContext。每个线程都应该有自己的DbContext实例outlined in the "Avoiding DbContext threading issues" section of the EF documentation。 -
@SixtoSaez 不,我保证这不是多头。 DbContext 来自 DI。我只是使用 Class.Method 来描述哪个类的实例并调用哪个方法。我将 DbContext 更改为 _dbContext 以澄清这个问题。
标签: c# entity-framework-core ef-core-2.2