2011-11-02 52 views
0

如何用Serializable屬性LINQ類標記System.Data.Linq.EntitySet和System.Data.Linq.EntityRef字段。Linq to SQL - 序列化

在對象關係設計器中,將序列化模式屬性更改爲單向。

仍然拋出以下錯誤:

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

我不確定這是否有幫助,但是您可以通過手動創建與LINQ-to-SQL部分類相對應的部分類來序列化您的LINQ-to-SQL生成的類,並繼承一個標記爲基本的實體作爲序列化。例如:

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

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

這確保了LINQ到SQL類等客戶,以及繼承BaseEntity任何其他部分類,序列化。