MVC+EF 序列化类型为“System.Data.Entity.DynamicProxies.__的对象时检测到循环引用

用MVC+EF做简单查询时,返回json格式数据出现问题

原代码:
 public ActionResult JSon({
            NorthwindEntities db = new NorthwindEntities();
            Employees per = db.Employees.Where(u => u.EmployeeID == 1).FirstOrDefault();
            return Json(per, JsonRequestBehavior.AllowGet);
}

报错:

个人记录最简单而行之有效的方法

1 public ActionResult JSon(){
2             NorthwindEntities db = new NorthwindEntities();
3             db.Configuration.ProxyCreationEnabled = false;
4             Employees per = db.Employees.Where(u => u.EmployeeID == 1).FirstOrDefault();
5             return Json(per, JsonRequestBehavior.AllowGet);
6 }

解决:

百度后发现方法挺多,个人认为这个比较好用

原文地址:https://www.cnblogs.com/AardWolf/p/10673304.html

时间: 2024-08-03 18:32:36

MVC+EF 序列化类型为“System.Data.Entity.DynamicProxies.__的对象时检测到循环引用的相关文章

序列化类型为“System.Data.Entity.DynamicProxies..."对象时检测到循环引用

这是因为EF外键引起的序列化问题. 解决方案: context.Configuration.ProxyCreationEnabled = false; 这里我用的是一个基类控制器用于被继承 返回EF实例前加上这段代码就可以了 1 //用于被继承 2 public class BaseController : Controller 3 { 4 public CucuCarEntity db 5 { 6 get 7 { 8 //从当前线程中获取该对象 9 CucuCarEntity db = Cal

在mvc返回JSON时出错:序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用 的解决办法

在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResult GetSdirsbyFdirid(int id) { // db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; List<Seconddirectory> lis

序列化类型为&quot;xx”的对象时检测到循环引用。

错误: 序列化类型为“System.Data.Entity.DynamicProxies.PClass_F1D9DFE16F480B2B87DBB269E781139A9B4611C923176D35DD120104EDEFC17C”的对象时检测到循环引用. 背景:这是在使用MVC+EF 进行ajax post请求的时候遇到的 原因:EF  Model1和Model2进行了相互引用,就是说这两个在数据中的表有主外键关系的 解决: IList<PClass> pclassLst = PClass

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用. 异常信息(部分): System.Web.Services.Protocols.SoapException: 服务器无法处理请求. ---> System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 序列化类型 Web

关于EF的 序列化类型为“XXX”的对象时检测到循环引用。

在用Ef的时候,也许经常会遇到循环引用的错误. 下面提供解决办法.(不是Json.Net,如果是Json.Net可以给导航属性通过增加特性标签来解决该问题) ef大多数问题,可以通过ToList()来解决.当这个问题解决不来的时候,你可以选择下面这种方法. IQueryable<TopicInfo> topicInfos = _topicInfoService.GetPagedEntitesQueryable(pageSize, pageIndex, wherelambda, t =>

mvc EF框架中,加载外键对象序列化对象时报错 序列化类型为XX的对象时检测到循环引用

Newtonsoft.Json.dll 或者通过->工具->库程序包管理工具->NuGet管理包->联机 输入Newtonsoft或者json.net Newtonsoft.Json是可以的: context.Response.ContentType = "text/plain"; BooksService service = new BooksService(); List<Books> list=service.GetAll().Take(5).

EF提示“序列化类型为XXX的对象时检测到循环引用”

能看到这个标题 ,我就用解释原因,网上很多,我只给大家一个解决方案会: public <#=code.Escape(entity)#> ToPOCO() { return new <#=code.Escape(entity)#>() { <# if (simpleProperties.Any()) { foreach (var edmProperty in simpleProperties) { #> <#=codeStringGenerator.Property

EF中Json序列化对象时检测到循环引用的解决办法

第一种方法:使用Newtonsoft.Json中的方法注释,在Json序列化的时候忽略导航属性 例:using Newtonsoft.Json; public class Users { public int Id { get; set; } public string LoginId { get; set; } public string LoginPwd { get; set; } [JsonIgnore] public virtual ICollection Roles { get; se

ef 对象无法序列化的问题(System.Data.Entity.DynamicProxies)

错误提示: System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 不应是类型 System.Data.Entity.DynamicProxies.FrDocMain_6A6FA4013EBB9F316ECF2126518C20341055E52EDEBA21C97E7E8430E7B15A70.使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型.