親エンティティ コレクションから子エンティティを削除すると、EF によって子エンティティの状態が削除ではなく変更されるように設定されていることに気付きました。
エンティティ オブジェクト マネージャ内に、それを削除するように設定する別のプロパティはありますか?
以下は、変更された子アイテムを見つけて削除するために、EF リポジトリの Save メソッド内で使用しているコードです。
Dim orphans = DataContextFactory.GetWMSDBContext().ChangeTracker.Entries().Where(Function(e) (e.State = EntityState.Modified) AndAlso TypeOf e.Entity Is StockTransferItem)
For Each orphan In orphans
orphan.State = EntityState.Deleted
Next
私が抱えている問題は、両方の状態が変更済みに設定されているため、更新と削除の違いを検出しようとしていることです。現時点では、レコードも更新するとアイテムが削除されます。2 つの状態を検出できますか?