引起原因:在查询中提交了更改。如在遍历的时候,调用了savechanges();

解决:把savechange()提到循环外.          

 

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 不允许启动新事务,因为有其他线程正在该会话中运行。的更多相关文章

  1. 没有活动事务 链接服务器的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务

    在windows2003下执行分布式事务的时候出现如下情况. 一. 问题现象在执行分布式事务时,在sql server 2005下收到如下错误: 链接服务器"xxxxxxx"的 O ...

  2. (转载)使用ADOConnet.BeginTrans后,出现错误提示:无法在此会话中启动更多的事务?

    Q: 三层结构,在服务器端使用adoconnection连接到sqlserver2000,然后想在 datasetprovider的beforupdaterecord中使用语句: try adocon ...

  3. 链接服务器XXX的OLE DB提供程序“SQLNCLI”无法启动分布式事务“

    错误消息msg 7391 16级状态1行1表示 “Msg 7391,Level 16,State 2,Line 1 无法执行该操作,因为链接服务器XXX的OLE DB提供程序“SQLNCLI”无法启动 ...

  4. 无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务

    在存储过程中使用事务,并且使用链接服务器时,报类似下面的错误 链接服务器"****"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 " ...

  5. Linux启动新进程的几种方法汇总

    有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...

  6. EF联合查询的新用法

    用EF很多年了,做联合查询时,只知道linq和lambda两种语法,今天朋友发了一个链接,打开看后发现是EF内置的新的关于联合查询的方法,赶紧抄录下来,以备后用. 现在先把这几种方法,各写一个例子,便 ...

  7. Linux启动新进程的三种方法

    程序中,我们有时需要启动一个新的进程,来完成其他的工作.下面介绍了三种实现方法,以及这三种方法之间的区别. 1.system函数-调用shell进程,开启新进程system函数,是通过启动shell进 ...

  8. Linux启动新进程的几种方法及比较

    有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...

  9. 21. 无法执行该操作,因为链接服务器”Server_202”的 OLE DB 访问接口 “SQLNCLI10″ 无法启动分布式事务”

    无法执行该操作,因为链接服务器”Server_202”的 OLE DB 访问接口 “SQLNCLI10″ 无法启动分布式事务” 原因:调用存储过程的方式有问题,必须用JDBC方式调用存储过程才可以正常 ...

随机推荐

  1. python 函数操作

    四.函数 定义: #!/usr/local/env python3 ''' Author:@南非波波 Blog:http://www.cnblogs.com/songqingbo/ E-mail:qi ...

  2. 解决 .net HttpClient 调用时出现的 "A task was cancelled" 错误

    近日在系统中集成ElasticClient客户端,自动创建索引.删除索引,发现通过 ElasticClient 的 LowerLevelClient 无法正确返回结果,但是索引已成功创建或删除. 并会 ...

  3. NOIP2013 D1 T3 货车运输

    好吧,遇上这种题,作为蒟蒻的我第一个想到的就是怎么打暴力,然而暴力都打不好QAQ!!!于是只能等教练讲解以后,然后在大犇的指导下终于做出来了. 对了,,好像还,没上题....: 题目描述 A 国有 n ...

  4. Spring MVC——搭建HelloWeb工程

    1.确保环境配置配置正确(Myeclipse(eclipse)+Tomcat) 2.新建web project 3.将Spring MVC所需的jar包粘贴到WebRoot/WEB-INF/lib下 ...

  5. scrapy保存csv文件有空行的解决方案

    比如现在我有一个名为test的爬虫,运行爬虫后将结果保存到test.csv文件 默认情况下,我执行scrapy crawl test -o test.csv ,得到的结果可能就是下面这种情况,每两行中 ...

  6. 八步详解Hibernate的搭建及使用

    本文通过了八个步骤以及一些实例添加用户来介绍Hibernate的搭建和使用,真切的介绍了hibernate的基本用法,其中好多优点等待我们自己去发现,比如hibernate中的缓存机制,映射方案. 1 ...

  7. poj1789(prim)

    prim和kruskal都是求解最小生成树的算法.这道题题意就是有N个字符串就是N个节点,而字符串之间的距离就是节点边的长度,求其最小生成树的边权和. 由于是第一次用prim,所以在求安全边的时候采用 ...

  8. 【BZOJ 4103】 4103: [Thu Summer Camp 2015]异或运算 (可持久化Trie)

    4103: [Thu Summer Camp 2015]异或运算 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 474  Solved: 258 De ...

  9. maven搭建企业级多模块项目

    1.创建一个maven项目 选择pom 完成 2.创建模块 项目右键选择module,创建模块.创建子模块 其余的打包时都为jar 地址:https://github.com/LeviFromCN/m ...

  10. bzoj 2002 LinkCutTree

    我的第一道LCT题(居然1A,O(∩_∩)O哈哈~) 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 大概题意: 给一颗有根树,维护每个 ...