entity异常 不允许启动新事务,因为有其他线程正在该会话中运行。
2010-05-11 09:01
615 查看
代码:
IOrderedQueryable<TOHOSPITAL_TBL> tb = ent.TOHOSPITAL_TBL.Where(record =>
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.treatment) ||
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.Clinic)).
OrderByDescending(record => record.TOHOSPITAL_TIME);
foreach (TOHOSPITAL_TBL tohospotal in tb)
{
if (!tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.IsLoaded)
{
tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.Load();
}
ChangeState(tohospotal);
ent.SaveChanges();
}
原因IOrderedQueryable<TOHOSPITAL_TBL> tb还在查询中,调用ent.SaveChanges();产生的。
ent.SaveChanges();提出即可
代码:
IOrderedQueryable<TOHOSPITAL_TBL> tb = ent.TOHOSPITAL_TBL.Where(record =>
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.treatment) ||
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.Clinic)).
OrderByDescending(record => record.TOHOSPITAL_TIME);
foreach (TOHOSPITAL_TBL tohospotal in tb)
{
if (!tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.IsLoaded)
{
tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.Load();
}
ChangeState(tohospotal);
}
ent.SaveChanges();
IOrderedQueryable<TOHOSPITAL_TBL> tb = ent.TOHOSPITAL_TBL.Where(record =>
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.treatment) ||
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.Clinic)).
OrderByDescending(record => record.TOHOSPITAL_TIME);
foreach (TOHOSPITAL_TBL tohospotal in tb)
{
if (!tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.IsLoaded)
{
tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.Load();
}
ChangeState(tohospotal);
ent.SaveChanges();
}
原因IOrderedQueryable<TOHOSPITAL_TBL> tb还在查询中,调用ent.SaveChanges();产生的。
ent.SaveChanges();提出即可
代码:
IOrderedQueryable<TOHOSPITAL_TBL> tb = ent.TOHOSPITAL_TBL.Where(record =>
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.treatment) ||
(record.TOHOSPITAL_STATE_TYPE_TBL.VALUE == (int)ToHospitolState.Clinic)).
OrderByDescending(record => record.TOHOSPITAL_TIME);
foreach (TOHOSPITAL_TBL tohospotal in tb)
{
if (!tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.IsLoaded)
{
tohospotal.TOHOSPITAL_STATE_TYPE_TBLReference.Load();
}
ChangeState(tohospotal);
}
ent.SaveChanges();
相关文章推荐
- 不允许启动新事务,因为有其他线程正在该会话中运行(ef并发错误处理之一)
- MVC3"不允许启动新事务,因为有其他线程正在该会话中运行"错误解决方法
- asp.net MVC + linq to entity报"不允许启动新事务,因为有其他线程正在该会话中运行."错误解决方法
- EF 不允许启动新事务,因为有其他线程正在该会话中运行。
- 不允许启动新事务,因为有其他线程正在该会话中运行。
- 数据库异常 其他会话正在使用事务上下文
- c# 访问SQL Server 其他会话正在使用事务的上下文
- 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
- SQLServer2005 触发器 提示 '其他会话正在使用事务的上下文'
- SQLServer2005触发器提示其他会话正在使用事务的上下文的解决方法
- 服务器因为其他原因打了系统补丁,导致.net2.0损坏,IIS以及运行.net2.0的程序出现异常
- 解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
- JAVA多线程—CountDownLatch-一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
- SQLServer2005 提示 '其他会话正在使用事务的上下文'
- SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因?
- SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)
- CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待
- 饥饿和公平 原文地址 By Jakob Jenkov 翻译 Simon-SZ 校对:方腾飞 如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”。而该线
- CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
- SQLServer2005触发器提示其他会话正在使用事务的上下文的解决方法