①首先说一下,GC里边在JVM其中是使用的ROOT算法,ROOT算法,什么称作为ROOT呢,就是说类的静态成员,静态成员就是static修饰的那种,是"根"的一个,根还包含方法中的成员变量.仅仅有成员或对象不挂在根上,GC的时候就可能把他们搞掉,这里提到的循环引用,就看这个循环引用是否挂在根上,假设挂在根上.假设这个根还被JVM的Java代码所运行的话,就不会GC掉,假设说这个根已经被释放掉了.这个对象不挂在跟上了.那个这个对象就会被GC掉. ②说一下根搜索算法,ROOTS,这个算法,…
学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因是实体之间有关联关系,在序列化这些相关的 数据对象的时候,产生无限循环引用的现象. Example: public class CollegeInfoModel { public Guid CollegeId { get; set; } [Display(Name = "学院")] pub…
在使用ajax调用web services时,正好返回的类型为datatable,想用通过json方式直接解析,但调用后,得到如下错误: 序列化类型为“System.Reflection.Module”的对象时检测到循环引用 经过查找博客,通过如下两步可以解决该问题: (1)引入Microsoft.Web.Preview.dll库 下载地址:http://download.csdn.net/detail/zlq861016/7235615 (2)在web.config中加入如下内容,位置为与sy…
发生异常的代码如下: 1: public JsonResult GetSaleByNo1(string id) 2: { 3: SaleMvcUI.Helper.saleDBEntities saleDB = new Helper.saleDBEntities(); 4:  5: var saleF = (from sf in saleDB.t_saleform 6: where sf.f_saleform_no == id 7: select sf).First(); 8:  9: retur…
MVC4 EF中将数据表外键引用的是自身,转换成Json时,总是提示错误:“序列化类型为....的对象时检测到循环引用.”: 解决办法: 把要序列化的对象转为匿名对象去掉导航属性,如下 :本来是var item=db.newsColumns.Find(id),但提示循环引用,所以改写成下面形式var item=db.newsColumns.Select(x=>new {x.id,x.name,x.parentId}).Where(x=>x.id==id). [HttpGet] public J…
在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResult GetSdirsbyFdirid(int id) { // db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; List<Seconddirectory> lis…
这是因为EF外键引起的序列化问题. 解决方案: context.Configuration.ProxyCreationEnabled = false; 这里我用的是一个基类控制器用于被继承 返回EF实例前加上这段代码就可以了 //用于被继承 public class BaseController : Controller { public CucuCarEntity db { get { //从当前线程中获取该对象 CucuCarEntity db = CallContext.GetData("…
在用Ef的时候,也许经常会遇到循环引用的错误. 下面提供解决办法.(不是Json.Net,如果是Json.Net可以给导航属性通过增加特性标签来解决该问题) ef大多数问题,可以通过ToList()来解决.当这个问题解决不来的时候,你可以选择下面这种方法. IQueryable<TopicInfo> topicInfos = _topicInfoService.GetPagedEntitesQueryable(pageSize, pageIndex, wherelambda, t =>…
原因:在EF实体中,两个互为主外键关系的实体类的导航属性相互引用. 解决方法一:删除一个不需要的类的导航属性 方法二:使用DTO模型 方法三:直接返回需要的属性(不能包括相互引用的属性)…
/// 产品列表展示 /// </summary> /// <returns></returns> ) { //获得所有组别 Galasys_IBLL.IT_BIZ_PRODUCT_GROUPService iT_BIZ_PRODUCT_GROUPService = new Galasys_BLL.T_BIZ_PRODUCT_GROUPService(); var t_BIZ_PRODUCT_GROUPs = iT_BIZ_PRODUCT_GROUPService.Lo…