林克到EF .Clear() 不清除
本文关键字:清除 Clear EF 林克 | 更新日期: 2023-09-27 18:32:48
EntityCollection.ToList().Clear()
不清除实体集合。知道为什么吗?
有什么解决办法吗?
我应该如何清除EntityCollection
?
因为ToList()
创建实体集合的副本作为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()
来创建副本,因为大多数集合类不喜欢在枚举期间从中删除项。
ToList()
生成一个新列表(您正在清除该列表)。