2010-04-09 49 views
1

我有一个应用程序,其中包含许多使用LINQ-To-SQL作为数据访问模型的WCF服务。 “处理后访问的DataContext”异常有很多问题。我明白这个例外是什么,它发生的原因是我没有“初始化”试图访问的数据。我读过很多文章,建议我在服务返回父对象之前在任何数组上调用ToList()。WCF“Dispose之后访问的DataContext”

我的问题是,我得到这个异常,我不知道它来自哪里,因此我不知道什么还没有被初始化。

任何人都可以建议如何最好地确定根本原因?

(我已经使用了MS服务跟踪查看,这似乎并没有给我任何进一步的信息)

回答

1

我找到了问题的根本原因是,有在LINQ-TO-类SQL使用DataContract属性修饰,但需要将IsReference属性设置为true([DataContract(IsReference=true)])。还有一个不是DataMember的类的属性,需要成为([DataMember(EmitDefaultValue=false)])。设置这两个属性解决了我的问题。