我有一个自定义类型UserSettingConfig我想保存在我的数据库中,我想将它保存为纯XML,因为类型可能稍后会更改,迁移纯XML比一个二进制对象。将datacontract序列化对象保存为字符串以保存在sql db中
public class Serialize
{
private readonly DataContractSerializer _serializer;
public Serialize()
{
_serializer = new DataContractSerializer(typeof(UserSettingConfig));
}
public string SerializeObject(UserSettingConfig userSettingConfig)
{
using (var memoryStream = new MemoryStream())
{
_serializer.WriteObject(memoryStream, userSettingConfig);
string userSettingXml = memoryStream.ToString();
memoryStream.Close();
return userSettingXml;
}
}
public UserSettingConfig DeSerializeObject(string userSettingXml)
{
UserSettingConfig userSettingConfig;
using (var stream = new MemoryStream(userSettingXml))
{
stream.Position = 0;
userSettingConfig = (UserSettingConfig)_serializer.ReadObject(stream);
}
return userSettingConfig;
}
}
这不工作的内存流需要一个字节数组或INT
我想我的序列化到返回一个字符串(我可以在我的数据库保存为VARCHAR(MAX))
不知道该怎么做 – Mech0z
好的。扩展了一下:] –