Есть ли обходной путь для отсутствия двунаправленной сериализации - PullRequest
1 голос
/ 21 января 2010

В моем проекте мы сериализуем отключенные сущности Linq-to-SQL (главным образом, чтобы сохранить их между обратными передачами). Код, используемый для этого, довольно прост:

public static string Serialize<P>(this P entity)
{
    StringWriter writer = new StringWriter();
    XmlTextWriter xmlWriter = new XmlTextWriter(writer);
    DataContractSerializer serializer = new DataContractSerializer(typeof(P));
    serializer.WriteObject(xmlWriter, entity);
    return writer.ToString();
}

Работает нормально, но после десериализации все дочерние объекты EntityRef для этого объекта исчезают и заменяются просто значением внешнего ключа. Похоже, эта проблема связана с отсутствием двунаправленной сериализации.

Есть ли способ обойти эту проблему?

1 Ответ

0 голосов
/ 21 января 2010

Попробуйте изменить свойство «Режим сериализации» на «Однонаправленный» в файле Linq2Sql Dbml. Я столкнулся с этой проблемой при использовании L2S в веб-сервисе.

...