通过调用给定实体的方法,可以获取该实体的所有引用。
var references = dbContext.Entry(entity).References;
现在我想将所有引用设置为 null。
foreach (var reference in references)
{
reference.CurrentValue = null;
}
context.Update(entity);
context.SaveChanges();
但实际上仅将引用设置为null是不够的,还必须同时设置外键属性。但是如何找到给定引用的外键字段呢?
Foo.BarId
,然后无法找到它。 - Captain Prinnyreference.Metadata.IsDependentToPrincipal()
来识别这样的引用并在需要时跳过它们。 - Ivan Stoev