Как сериализовать .NET Table Adapter - PullRequest
2 голосов
/ 24 сентября 2011

Мне нужно сериализовать адаптер таблицы .NET.Сериализация адаптера данных и набора данных не проблема, но я не могу сериализовать адаптер таблицы.Глядя на тип, он обычно специфичен для того, что вы называете. Например, если я создаю адаптер таблицы счетов-фактур. Тип будет InvoiceTableAdapter, а его базовый тип - компонент.Это не дает мне простой тип для работы, как адаптер данных SQL, который относительно прост для сериализации.Кроме того, мне нужно иметь возможность сериализовать и десериализовать его без необходимости включать dll, из которого он пришел, когда я десериализовал его.Единственные библиотеки DLL, доступные при десериализации, будут стандартными библиотеками .NET.

1 Ответ

3 голосов
/ 24 сентября 2011

Кроме того, мне нужно иметь возможность сериализовать и десериализовать его без необходимости включать dll, из которого он пришел, когда я десериализовал его.

Если вы используете BinaryFormatter (кстати, я не рекомендую), то нет: вы не можете этого сделать. Это не то, как BinaryFormatter работает. Ожидается воссоздание точно того, что было сериализовано, что требует тех же самых dll.

Если вы используете любой другой сериализатор, это, возможно, имеет даже меньше смысла; Вы должны сериализовать * данные, правда. Не сантехнические детали, такие как адаптеры.

На полном серьезе, я думаю, вам нужно пересмотреть свой дизайн здесь. Почему вы, например, пытаетесь сериализовать адаптеры? Что бы это значило даже ? Например, может иметь смысл написать DTO, представляющее данные, которые вам нужны для построения ванили SqlDataAdapter.

...