0

私は次のクラスを持っています

public class ObjectA{
   private List<ObjectB> list;    
}

ObjectA と ObjectB は N:N の関係にあります。
2 つの関係をすべて削除するにはどうすればよいですか?
list.clear() は機能しないようです。
ありがとう。

4

2 に答える 2

1

エンティティがコンテキストにアタッチされている場合は、次のようlist.Clear()に機能します。

using (var ctx = new MyContext())
{
    var objectA = ctx.ObjectAs.Include("list").Single(o => o.Id == someId);

    objectA.list.Clear();

    ctx.SaveChanges();
}
于 2013-01-15T17:35:15.107 に答える
0

list.Clear() は接続モードで問題なく動作しますが、すべての B レコードがデータベースから取得された A に属している必要があります。B が多すぎると、パフォーマンスが低下することがあります (実際にはほとんど発生しません)。その場合、ストア プロシージャまたは context.Database.ExecuteSqlCommand("delete from...") を使用して、関係テーブルの関係を手動で削除することもできます。

于 2013-01-15T18:05:55.327 に答える