4
EntityCollection.ToList().Clear()

エンティティ コレクションをクリアしません。理由はありますか?

解決策はありますか?

をクリアするにはどうすればよいEntityCollectionですか?

4

2 に答える 2

4

ToList()EntityCollection のコピーを として作成するため、それ自体List<T>ではなく、そのリストをクリアするだけですEntityCollection

編集 1: Clear()EntityCollection のメソッドを使用します: http://msdn.microsoft.com/de-de/library/bb302707.aspx

編集 2: なるほど。つまり、このクラスです: http://msdn.microsoft.com/de-de/library/ff422654(v=vs.91).aspx ? すべての項目を列挙し、1 つずつ削除する必要があるようです。

foreach( var item in EntityCollection.ToList() )
    EntityCollection.Remove(item);

ここではコピーを作成する必要がありToList()ます。これは、コレクション クラスのほとんどが、列挙中に項目を削除することを好まないためです。

于 2012-05-02T05:45:37.650 に答える
0

ToList()新しいリストを生成します(それをクリアしています)。

于 2012-05-02T05:45:31.033 に答える