1
でオブジェクトツリーを削除子リストを反復しようとしています - 私はforeach内のコレクションを変更しているので例外が発生します - それは問題です...それを行う他の方法? (削除するごとに状態を設定しています)私はそれを行うことができますどのように<strong>(私はカスケード削除を使用する必要はありません)</strong></p> <p>I手動で、私は手動でオブジェクトとすべてを削除したい場合は、それは子供のエンティティフレームワーク
var myAssignemnt = (from s in context.Assignments.Include("ActivityInAssignments").Where(s => s.AssignmentID == AssignmentID) select s).FirstOrDefault();
foreach (ActivityInAssignment acc in myAssignemnt.ActivityInAssignments)
{
context.ObjectStateManager.ChangeObjectState(acc, System.Data.EntityState.Deleted);
}
context.ObjectStateManager.ChangeObjectState(myAssignemnt, System.Data.EntityState.Deleted);
context.SaveChanges();
を試してみて、それがToListメソッド()とオリジナルではないコレクションで動作しますなぜあなたは – Dani
はあなたが説明することができます(... 5分で受け入れる):-)再び右ですか? (問題はforeach関数内であり、ActivityInAssignmentコレクション内ではありません。 – Dani
問題はコレクション内にあり、アイテムが '削除されました'に反応してforeachを無効にします。ToListは参照のコピーを作成します。変化に影響されません。 –