在我的项目中,我们序列化了断开连接的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子节点都消失了,只替换为外键值。看起来这个问题是由于缺乏双向序列化。
这个问题是否存在解决方法?
答案 0 :(得分:0)
尝试在Linq2Sql Dbml文件上将Serialization Mode属性更改为“Unidirectional”。在Web服务中使用L2S时遇到了这个问题。