【发布时间】:2010-03-11 16:58:24
【问题描述】:
我需要将通过 a.dbml Linq-To-Sql 文件创建的一些实体放入会话状态。因为我使用的是进程外状态服务器,所以它们需要可序列化。
我怎样才能做到这一点?
我已尝试将 .dbml 文件中的序列化模式设置为“单向”。
【问题讨论】:
标签: asp.net linq session-state
我需要将通过 a.dbml Linq-To-Sql 文件创建的一些实体放入会话状态。因为我使用的是进程外状态服务器,所以它们需要可序列化。
我怎样才能做到这一点?
我已尝试将 .dbml 文件中的序列化模式设置为“单向”。
【问题讨论】:
标签: asp.net linq session-state
大多数情况下,无法序列化 LINQ to SQL 实体,因为它们引用了各种无法序列化的对象,否则您最终会序列化一个巨大的对象图。
最好创建您专门为此创建的Data Transfer Objects。您可以将此类对象设为 [Serializable],这允许它们以进程外状态保存(或使用 Web 服务发送到客户端)。 DTO 让您可以完全控制要序列化的内容,因为它们将包含原始类型或其他 DTO 的集合。
【讨论】: