Linq to SQL - 序列化

时间:2011-11-02 23:17:32

标签: linq-to-sql serialization

如何使用Serializable属性LINQ类标记System.Data.Linq.EntitySet和System.Data.Linq.EntityRef字段。

在对象关系设计器中,将“序列化模式”属性更改为“单向”。

仍然低于错误:

Type 'System.Data.Linq.EntitySet`1 [[CIMS.Framework.DataAccess.Models.Assessments_ResponseWorkflow, 
CIMS.Framework.DataAccess, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=null]]' in Assembly 'System.Data.Linq, Version=3.5.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable. 
Description: An unhandled exception occurred during the execution of 
the current web request. Please review the stack trace for more information 
about the error and where it originated in the code. 

Exception Details: System.Runtime.Serialization.SerializationException:
Type 'System.Data.Linq.EntitySet`1 
[[CIMS.Framework.DataAccess.Models.Assessments_ResponseWorkflow,  
CIMS.Framework.DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'
in Assembly 'System.Data.Linq, Version=3.5.0.0, Culture=neutral,  
PublicKeyToken=b77a5c561934e089' is not marked as serializable.

请问任何一个例子吗?

1 个答案:

答案 0 :(得分:1)

我不确定这是否有帮助,但您可以通过手动创建与LINQ-to-SQL部分类对应的部分类来序列化LINQ-to-SQL生成的类,继承标记为的基本实体序列化。例如:

[Serializable]
public abstract class BaseEntity 
{
    // Code...
}

public partial class Customer : BaseEntity
{
   // Code...
}

这可以确保像 Customer 这样的LINQ-to-SQL类以及继承BaseEntity的任何其他部分类被序列化。