我有一个实体。Mandate
. 每个任务都有一个 required:many 与 Person (NavigationProperty) 的关系。我将 DbContext API 与(LazyLoadingEnabled、AutoDetectChangesEnabled、ValidateOnSaveEnabled、ProxyCreationEnabled)一起使用
现在我想删除一个 Mandate 实体。授权实体由另一个上下文加载AsNoTracking()
。
message.Result.
ObserveOn(On<DataComposition>.Scheduler).
Where(r => r).
Subscribe(_ =>
{
using (var unit = UnitOfWork.Begin())
{
var mandate = this.SelectedItem.OriginalEntity;
this.mandateRepository.Attach(mandate);
// mandate.Person.ToString();
this.mandateRepository.Delete(mandate);
unit.Commit();
}
this.List.RemoveOnUi(this.SelectedItem);
});
现在在提交期间,我得到以下异常:Entities in 'CodeFirstContainer.Mandates' participate in the 'Mandate_Person' relationship. 0 related 'Mandate_Person_Target' were found. 1 'Mandate_Person_Target' is expected.
如果我在填充/选择期间包含 Person 属性,或者如果我访问该属性(延迟加载),则删除工作有效,但我不喜欢仅在删除情况下实现/保留许多实体,并且我不喜欢触发多个单个DELETE
查询分贝!