EntityCollection.ToList().Clear()
不清除实体集合。知道为什么吗?
任何解决方案?
我应该如何清除EntityCollection
?
答案 0 :(得分:3)
因为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()
来创建一个副本,因为当你在枚举期间从它们中删除项目时,大多数集合类都不喜欢它。
答案 1 :(得分:0)
ToList()
生成一个新列表(您正在清除它)。