原因:在EF实体中,两个互为主外键关系的实体类的导航属性相互引用. 解决方法一:删除一个不需要的类的导航属性 方法二:使用DTO模型 方法三:直接返回需要的属性(不能包括相互引用的属性)…
发生异常的代码如下: 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…
在用Ef的时候,也许经常会遇到循环引用的错误. 下面提供解决办法.(不是Json.Net,如果是Json.Net可以给导航属性通过增加特性标签来解决该问题) ef大多数问题,可以通过ToList()来解决.当这个问题解决不来的时候,你可以选择下面这种方法. IQueryable<TopicInfo> topicInfos = _topicInfoService.GetPagedEntitesQueryable(pageSize, pageIndex, wherelambda, t =>…
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).…
/// 产品列表展示 /// </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…
能看到这个标题 ,我就用解释原因,网上很多,我只给大家一个解决方案会: public <#=code.Escape(entity)#> ToPOCO() { return new <#=code.Escape(entity)#>() { <# if (simpleProperties.Any()) { foreach (var edmProperty in simpleProperties) { #> <#=codeStringGenerator.Property…
在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResult GetSdirsbyFdirid(int id) { // db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; List<Seconddirectory> lis…
学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因是实体之间有关联关系,在序列化这些相关的 数据对象的时候,产生无限循环引用的现象. Example: public class CollegeInfoModel { public Guid CollegeId { get; set; } [Display(Name = "学院")] pub…
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…
这是因为EF外键引起的序列化问题. 解决方案: context.Configuration.ProxyCreationEnabled = false; 这里我用的是一个基类控制器用于被继承 返回EF实例前加上这段代码就可以了 //用于被继承 public class BaseController : Controller { public CucuCarEntity db { get { //从当前线程中获取该对象 CucuCarEntity db = CallContext.GetData("…
在使用ajax调用web services时,正好返回的类型为datatable,想用通过json方式直接解析,但调用后,得到如下错误: 序列化类型为“System.Reflection.Module”的对象时检测到循环引用 经过查找博客,通过如下两步可以解决该问题: (1)引入Microsoft.Web.Preview.dll库 下载地址:http://download.csdn.net/detail/zlq861016/7235615 (2)在web.config中加入如下内容,位置为与sy…
用MVC+EF做简单查询时,返回json格式数据出现问题 原代码: public ActionResult JSon({ NorthwindEntities db = new NorthwindEntities(); Employees per = db.Employees.Where(u => u.EmployeeID == ).FirstOrDefault(); return Json(per, JsonRequestBehavior.AllowGet); } 报错: 个人记录最简单而行之有…
接上篇的问题,给出我自己的解决方案. 同时推荐要学习MVC的可以参考下<ASP.NET MVC4 框架揭秘>. 首先,要自定义JSonResult,就要明白MVC中 JsonResult的定义.源码要自己查了,这里就不罗嗦了. 有一点要知道的就是MVC中的JsonResult是通过JavascriptSerializer(System.Web.Scripts.Serialization.JavaScripteSerializer,要添加System.Web.Extensions.dll)来实现…
定义一个继承JavaScriptConverter的子类 public class DataTableConverter : JavaScriptConverter { /// <summary>序列化</summary> public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer) { DataTable dt = obj as Da…
解决方案: 加上 db.Configuration.ProxyCreationEnabled = false;这句话搞定~…
网上查了一通都是在web.config中配置 System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 无效 解决方案到  C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 目录拷贝一份System.Data.Entity.dll 到网站bin 目录就好了 编译错误…
,new对象时,就会在堆中创建内存空间,创建的空间包括各个成员变量类型所占用的内存空间…
这个编译错误有几个原因 1.jdk版本问题 要是报错是某些java包里的东西那就可以肯定是jdk版本的问题, 比如无法解析类型java.lang.Object,无法解析类型java.lang.CharSequence. 解决方法:换jdk版本或者重装jdk 2.maven依赖的jar包有问题 当maven项目引用jar包的时候,有些jar包会失效,导致这个问题. 解决方法:把maven本地库jar包删除重新下载,或者删除后换个仓库下载.…
1.类定义: public class Student { public int ID { get; set; } public string Name { get; set; } //[XmlIgnore] public Grade Grade { get; set; } } public class Grade { public int GradeID { get; set; } public string GradeName { get; set; } public List<Studen…
1.定义类 public class Student { public int ID { get; set; } public string Name { get; set; } //[XmlIgnore] public Student StudentInfo { get; set; } } 2.执行序列化操作,如果内部对象引用自己,xml序列化抛出异常“检测到循环引用” Student stu = new Student(); stu.ID = ; stu.Name = "张三";…
在做MVC项目时,难免会遇到Json序列化循环引用的问题,大致错误如下 错误1:序列化类型为“...”的对象时检测到循环引用. 错误2:Self referencing loop detected for property '...' with type '...'. Path '[0].x[0]'. 以上错误是因为数据库表关系引起的,比如一对一或多对多,如图: EF里面是这样的,如图: 解决方法: 步骤1: -引用JSON.NET 步骤2: -引用Newtonsoft.Json 步骤3: -J…
DateTime类型数据格式问题 问题 在使用ASP.NET MVC 在写项目的时候发现,返回给前端的JSON数据,日期类型是 Date(121454578784541) 的格式,需要前端来转换一下才能用来使用. C#对象属性名称转换成JSON自动转成“驼峰命名法” 问题 在C#中推荐的属性命名方式是“帕斯卡命名法”[首字母大写]但是在前端推荐命名方式为“驼峰命名法”[首字母小写],这样如果直接序列化C#对象,返回的属性就是大写的了 MVC 默认的返回JsonResult在序列化有循环引用对象时…
1.Wcf数据契约序列化,使用的类DataContractSerializer 默认如果类不指定[DataContract],则序列化类的所有字段,并且在出现循环引用的时候回抛出异常,服务终止 msdn文档说明:https://msdn.microsoft.com/library/system.runtime.serialization.datacontractserializer.aspx /* * Wcf 数据契约序列化使用“DataContractSerializer”,底层是xml序列化…
可以利用反射将DataTable转换为List<T>对象:原始链接http://www.jb51.net/article/67386.htm 但是该方法在DataTable里某个字段类型是Int32会有问题,报异常:类型“System.Int64”的对象无法转换为类型“System.Int32”. 可在赋值的时候加一句: if(pi.GetMethod.ReturnParameter.ParameterType.Name == "Int32") { value = Conv…
1.类的定义 /// <summary> /// 学生信息 /// </summary> [Serializable] public class Stu { /// <summary> /// 学生姓名 /// </summary> public string Name { get; set; } /// <summary> /// 学生的老师 /// </summary> public List<Teacher> Tea…
1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2:指定 JsonIgnore忽略 引用对象 实例1,解决MVC的Json序列化引用方法: step1:在项目上添加引用 Newtonsoft.Json程序包,命令:Insert-Package Newtonsoft.Json step2:在项目中添加一个类,继承JsonResult,代码如下: ///…
安装MiniProfiler 在MVC + EF + Bootstrap 2 权限管理系统入门级(附源码)文章中下载了它的源码,调试模式下打开一个页面都要再2.5秒以上,所以使用MiniProfiler.MiniProfiler.MVC4 .MiniProfiler.EF6组件进行了分析. 首先,依次序安装组件.然后,修改Global.aspx.cs 文件: protected void Application_Start() { AreaRegistration.RegisterAllArea…
近期做了MVC+EF的项目,现在项目完结了,抽个时间写个小DOM总结一下,顺便加深理解. 一.新建MVC项目,结构是这样的…
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现  (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一         (9):TT摸版的学习   (10):VSS源代码管理   (11):验证码实现和底层修改  (12):实现用户异步…
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现  (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一         (9):TT摸版的学习   (10):VSS源代码管理   (11):验证码实现和底层修改  (12):实现用户异步…