Linq to SQL - Сериализация - PullRequest
       16

Linq to SQL - Сериализация

0 голосов
/ 03 ноября 2011

Как пометить поля System.Data.Linq.EntitySet и System.Data.Linq.EntityRef с помощью атрибута Serializable класса LINQ.

В конструкторе реляционных объектов изменил свойство Режим сериализации на Однонаправленный.

Все еще выбрасывает ошибку ниже:

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 Ответ

1 голос
/ 24 мая 2012

Я не уверен, поможет ли это, но вы можете сериализовать сгенерированные классы LINQ-to-SQL, создав вручную созданные частичные классы, которые соответствуют частичным классам LINQ-to-SQL, и наследуют базовую сущность, помеченную как сериализованная. Например:

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

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

Это обеспечивает сериализацию класса LINQ-to-SQL, такого как Customer , и любых других частичных классов, которые наследуют BaseEntity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...