在我们的一个项目中,我们使用Linq-to-SQL从我们的数据库中获取数据。有很多表可以引用其他表。我们使用LoadWith方法来获取数据。然后将数据序列化并使用WCF发送到客户端应用程序。在cliend上,引用已经消失。当单步执行代码并观察发生的情况时,您可以看到数据在服务器上可用,但在客户端上消失了。
如果是自定义类,您可以添加属性以使其工作,但使用Linq-to-SQL生成所有代码。
有没有办法序列化/反序列化这些数据?
答案 0 :(得分:0)
我相信Damien G的LINQ to sql T4 templates为L2S对象图的序列化添加了额外的支持 - 有关详细信息,请参阅Roger Jennings的这篇文章。
编辑忘记包含Damien帖子的链接。有关Damien G模板的更多背景信息,请参阅他的blog post。
答案 1 :(得分:0)
我决定创建一个新类,它只包含我想要与客户端通信的字段,而不是使用一些 LoadWith 来返回所有内容。这会大大减少流量,因为必须序列化的对象要小得多,而且我不会再遇到这个问题。