首页 > 代码库 > 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
本文出自:http://www.cnblogs.com/zhhh/archive/2011/04/06/2006868.html
在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用。
异常信息(部分):
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 序列化类型 Web.DAL.Friends 的对象时检测到循环引用。
(后面略)
这个意思是使用Linq to SQL的时候,表和表之间有关联关系,在序列化这些相关的数据对象的时候,产生无限循环引用的现象。
这里我们可以通过配置DataContext文件来解决这个问题。
首先我们打开DataContext文件,在该文件的属性窗口中设置“序列化模式”属性为“单项”,如图所示
然后在DataContext文件的视图中选中表与表之间的关系,并设置该关系的属性。在“属性”窗口中设置“父属性”节点下的“访问权限”属性值为Internal即可,如图所示。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。