0

我正在通过 WCF 传递数据集和/或在会话管理器中对其进行序列化。反序列化对象后,数据从自定义列中消失。我可以在对象被序列化之前验证数据是否存在。自定义对象用于实现字母数字排序,它使用 [Serializable] 属性。数据集不是强类型的。

解决方案遵循...

4

2 回答 2

0

自定义数据类型可以在数据集中进行序列化,但它们需要实现 IXmlSerializable 接口。

using System;
using System.Text;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;

  [Serializable]
  public class AlphaNumericSort : IComparable, IXmlSerializable
  {
...
    // Xml Serialization Infrastructure 
    public void WriteXml (XmlWriter writer)
    {
        writer.WriteString(_Value);
    }

    public void ReadXml (XmlReader reader)
    {
        _Value = reader.ReadString();
    }

    public XmlSchema GetSchema()
    {
        return(null);
    }
于 2012-08-18T00:02:06.013 回答
0

传递数据集或数据表不是一个好习惯。因此,在数据集中迭代您的数据表并填充您将序列化的自定义类或类集合(不要忘记设置 datacontract 和 datamember 属性)

于 2012-08-18T00:23:42.417 回答