我应该叫ToList()。如果是,为什么?
这是一个实体框架。还是没关系,我可能不会打电话给列表吗?
var followers = from user in project.Followers
where followersIds.Contains(user.Id)
select user;
foreach (var follower in followers.ToList())
{
project.Followers.Remove(follower);
}
此代码正常吗?我应该调用ToList()吗?如果是,为什么?它是一个实体框架。或没关系,我可能不会打电话给列表? var followers =来自项目中的用户。Followers...
ToList
可以避免在迭代运行时错误时遇到修改过的集合。 ToList()
会立即复制该集合,然后对其进行迭代,以从原始源project.Followers
中删除项目。Linq
表达式时,您将获得一个IQueryable
集合。这个IQueryable
并不是存储在内存中的真实集合,所有记录都是从数据库中获取的,它只是一条语句,用于查询数据库服务器。我的意思是,由于将访问此IQueryable
,因此您将不会查询数据库。