System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 在 System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() 在 System.Linq.Enumerable.Count[TSource](IEnumerable`1 source) 在
你的WorkflowNodeCollection集合是不是很大?SingleOrDefault的执行方案是有问题的,如果你不强制唯一,那么可以改成:
context.WorkflowNodeCollection.FirstOrDefault(p => p.FID == item.FNextStepFlagID);
关于Single/SingleOrDefault的执行机制问题,参考SO上的这个问题。
WorkflowNodeCollection就是一个list<实体类>类型的集合,最大3条数据吧,
context.NodeUserCollection.Keys.FirstOrDefault(),NodeUserCollection是个字典,好像这句也会出错上面的错误
你用的是Linq to SQL还是Entity Framework?
都不是,就是流程上下文中有个list<实体类>的集合的变量WorkflowNodeCollection