私はエンティティを持っています。Mandate
. すべての命令には、Person (NavigationProperty) に対する required:many 関係があります。(LazyLoadingEnabled、AutoDetectChangesEnabled、ValidateOnSaveEnabled、ProxyCreationEnabled) で DbContext API を使用します。
ここで、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
ではありませんデシベルへ!