我写这些代码来更新我的整个表格重新命令我的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。但是发生了错误:
在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常:
异常:不允许新事务,因为会话中还有其他线程在运行
答案 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