EF/foreach遍历

Posted jayesslee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF/foreach遍历相关的知识,希望对你有一定的参考价值。

using (var _context = new JYERPEntities())
                {
                    var _Role = _context
                        .Roles
                        .Where(r => r.ID == roleID)
                        .FirstOrDefault();

                    var _RoleUserList = _context
                        .Roles
                        .Where(r => r.ID == roleID)
                        .FirstOrDefault()
                        .Users;

                    foreach (var item in _RoleUserList.ToArray())
                    {
                        if (intArrUserID.Contains(item.ID))
                        {
                            _RoleUserList.Remove(item);
                        }
                        continue;
                    }

                    _context.SaveChanges();
                }

这里_RoleUserList不要ToList,会从数据库到内存中来,(x)而且foreach遍历List不能单个修改其中的元素(这句是错的,证实后List也可以)。

在遍历的时候ToArray或ToList就可以(原因不明),不要忘了continue;

以上是关于EF/foreach遍历的主要内容,如果未能解决你的问题,请参考以下文章