В большинстве случаев невозможно сериализовать сущности LINQ to SQL, потому что они ссылаются на все виды объектов, которые не могут быть сериализованы, или вы бы в итоге сериализовали огромный граф объектов.
Лучше всего создать Объекты передачи данных , которые вы специально для этого создали. Вы можете сделать такие объекты [Serializable], что позволит им сохранять их в состоянии «вне процесса» (или отправлять клиенту с помощью веб-службы). DTO дают вам полный контроль над тем, что сериализуется, потому что они будут содержать примитивные типы или набор других DTO.