如何将Linq序列化为SQL实体以用于进程外会话状态?

时间:2010-03-11 07:13:54

标签: asp.net linq session-state

我需要将通过a.dbml Linq-To-Sql文件创建的一些实体放入会话状态。因为我使用的是进程外状态服务器,所以它们需要是可序列化的。

我怎样才能做到这一点?

我尝试将.dbml文件中的Serialization模式设置为'Unidirectional'。

1 个答案:

答案 0 :(得分:2)

大多数情况下,无法将LINQ序列化为SQL实体,因为它们引用了无法序列化的各种对象,或者最终会序列化一个巨大的对象图。

最好创建专门为此创建的Data Transfer Objects。您可以创建这样的对象[Serializable],它允许将它们保存在进程外状态(或使用Web服务发送到客户端)。 DTO让你完全控制序列化的内容,因为它们包含原始类型或其他DTO的集合。