2009-07-06 124 views
3

我使用LINQ访问我的数据库,从而得到一个LINQ创建的对象,我想将它发送到浏览器(这是一个web服务)作为JSON对象。这到目前为止工作得很好,但是当我向数据库中添加一些测试数据(每个表中大约有10-20个条目)时,这会失败。原因是LINQ对象包含所有引用的对象。这变得非常快。例如。每个资源类型包含其所有资源,其中包含所有预留线路,其中包含每个预留。将LINQ对象序列化为JSON字符串 - 巨大的字符串

你有关于如何解决这个问题的提示吗?我可以设置序列化程序中的设置吗?我使用json.net来序列化对象。或者在LINQ中有一些设置?

在最好的情况下,我不希望创建新对象之前,我序列化它们,因为它是非常方便的,只是序列化LINQ对象直接:)

回答

5

最好的做法,至少在那一刻是不要序列化LINQ to SQL对象或实体框架实体。主要原因是它们包含基类的实现相关数据。

相反,序列化你想要的序列化。使用数据传输对象完全匹配您想要发送的内容,并在发送之前从LINQ到SQL对象复制到它们中。

相关问题