EntityCollection.ToList().Clear()


不清除实体集合。知道为什么吗?

有什么办法吗?

我应该如何清除EntityCollection

最佳答案

因为ToList()将创建一个EntityCollection的副本作为List<T>,然后您只清除该列表,而不是EntityCollection本身。

编辑1:
使用EntityCollection中的Clear()方法:
http://msdn.microsoft.com/de-de/library/bb302707.aspx

编辑2:
哦,我懂了。这就是此类:http://msdn.microsoft.com/de-de/library/ff422654(v=vs.91).aspx
似乎您必须枚举所有项目并逐一删除它们。

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


在这里,您需要ToList()来创建副本,因为在枚举过程中从集合中删除项目时,大多数集合类都不喜欢它。

10-06 05:09