将LINQ对象序列化为JSON字符串 - 巨大的字符串

Esp*_*sen 3 linq serialization json.net

我正在使用LINQ访问我的数据库,从而获得一个LINQ创建的对象,我想将其作为JSON对象发送到浏览器(这是一个Web服务).这种方法现在运行良好,但是当我向数据库添加一些testdata时(每个表中大约10-20个条目),这种情况很糟糕.原因是LINQ对象包含所有引用的对象.这变得非常快.例如.每个resourcetype包含其所有资源,其中包含包含每个预留的所有预留行.

你对我该如何解决这个问题有什么建议吗?我可以设置序列化器中的设置吗?我使用json.net来序列化对象.或LINQ中有一些设置?

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

Joh*_*ers 5

至少在目前,最佳实践是不对LINQ to SQL对象或实体框架实体进行序列化.主要原因是它们包含来自基类的依赖于实现的数据.

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