我正在为 WCF 服务开发一种“存储和转发”应用程序。我想将消息作为原始 XML blob 保存在数据库中,作为 XElement。我在将数据契约(Contract)转换为数据库调用所需的 XElement 类型时遇到了一些麻烦。有什么想法吗?
最佳答案
这会将其作为字符串返回,您可以将其放入数据库的 xml 列中。这是一个很好的通用方法,您可以使用它来序列化数据契约(Contract)。
public static string Serialize<T>(T obj)
{
StringBuilder sb = new StringBuilder();
DataContractSerializer ser = new DataContractSerializer(typeof(T));
ser.WriteObject(XmlWriter.Create(sb), obj);
return sb.ToString();
}
顺便说一句,你在使用 linq to sql 吗?我问的原因是因为你问题的 XElement 部分。如果是这种情况,您可以在 .dbml 设计器中修改它以使用字符串作为 CLR 类型,而不是默认的 XElement。
关于c# - 将 DataContract 作为 XML 保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1077747/