質問に加えて、親が削除されていない孤立したデータをEFが自動的に削除できますか?
@Ladislav がここで提案したように、解決策を確認しました https://stackoverflow.com/a/10838228/54801 残念ながら、解決策が部分的に機能することに気付きました。
次のコードを使用すると:
for (int k = 0; k < 2; k++)
{
var parentObject= _context.Parents.Get(1704);
parentObject.ChildObjects.Clear();
var childObject= _context.ChildObjects.Get(1000*k /*diffrent child for each iteration*/ );
parentObject.ChildObjects.Add(childObject);
_context.Commit();
}
最初の反復 (k=0) は削除を実行しました。しかし、2 回目の繰り返しでは削除されません。
誰かが問題の解決策を持っていますか?
この問題は、次のように「解決」できます。
if(k == 1)
{
foreach (var project in tender.TenderProjects)
{
_context.Projects.Remove(project);
}
}
しかし、サービスをORMロジックから除外したいのは間違いなく理想的ではありません..
編集:
反復は、実際のシナリオの一例にすぎません。実際のシナリオでは、ユーザーは親エンティティの最初の子を追加できます。データを保存し、もう一度行って最初の子を削除し、代わりに他の 2 つの子を追加します