Create a Serializer / Deserializer for LINQ To SQL Entities
using System;
using System.IO;
using System.Xml;
using System.Runtime.Serialization;
namespace JC.Common
{
/// <summary>
/// Provides methods to serialize objects
/// </summary>
public static class SerializeHelper
{
public static string SerializeXml(object value)
{
if (value.GetType() == typeof(string))
return value.ToString();
StringWriter stringWriter = new StringWriter();
using (XmlWriter writer = XmlWriter.Create(stringWriter))
{
DataContractSerializer serializer = new
DataContractSerializer(value.GetType());
serializer.WriteObject(writer, value);
}
return stringWriter.ToString();
}
public static object DeserializeXMl(Type type, string serializedValue)
{
if (type == typeof(string))
return serializedValue;
using (StringReader stringReader = new StringReader(serializedValue))
{
using (XmlReader reader = XmlReader.Create(stringReader))
{
DataContractSerializer serializer =
new DataContractSerializer((type));
object deserializedValue = serializer.ReadObject(reader);
return deserializedValue;
}
}
}
}
}