如果 属性 尚未加载,则将惰性 属性 设置为 null 不会持久化对数据库的更改

Setting lazy property to null doesn't persist change to database if the property has not been loaded yet

我们在 EF 核心中使用延迟加载,发现将延迟加载 属性 设置为 null 时它还没有加载实际上并不会使数据库中的值无效。

例如,假设数据库中有文章和作者实体。我们在数据库中有一篇文章链接到“John Doe”的作者。

如果我们从数据库中检索该文章,然后将作者设置为空,则此更改不会持久保存到数据库中。

如果我们从数据库中检索该文章并在将其设置为 null 之前首先导航作者 属性,则更改将持久保存到数据库中。

这是预期的行为吗?我们正在使用 v5.0.0-rc2.20475.6.

这是一个已知问题,记录在此处:https://github.com/dotnet/efcore/issues/14086