通过EF 4.0Entity Exception更新我的表

时间:2011-02-08 07:40:11

标签: .net entity-framework c#-4.0 entity-framework-4

我写这些代码来更新我的整个表格重新命令我的jobseqno:


      protected void Update()
        {
            MyEntities ctx = new MyEntities ();

                var qry = ctx.MyTable.Where(q => q.workorder == "100001076").OrderBy(q => q.id);
                dataGridView1.DataSource = qry;
                int i = 0;
                foreach (var item in qry)
                {
                    i++;
                    item.jobseqno = i.ToString();
                    ctx.SaveChanges();

                }

        }

如何更新我的整个表格。我给新的号码收集jobseqno。但是发生了错误:

EntityException未处理

在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常:

异常:不允许新事务,因为会话中还有其他线程在运行

1 个答案:

答案 0 :(得分:2)

查看this博客文章,解决方案似乎是将从MyTable获取的元素存储到数组中,而不是直接使用IEnumerable结果。试试这个:

var qry =
   ctx.MyTable
       .Where(q => q.workorder == "100001076")
       .OrderBy(q => q.id)
       .ToArray<MyTable>; // save it as a local array