3

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

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

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

4

1 回答 1

5

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

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

于 2009-07-06T13:19:27.217 回答