How to serialize and save an object to database as Xml using Linq to SQL
c#, linq-to-sql, xml-serialization
Solution
To serialize into an XElement
XmlSerializer x = new XmlSerializer(typeof(GridState));
XDocument doc = new XDocument();
using (XmlWriter xw = doc.CreateWriter())
{
x.Serialize(xw, new GridState
{
GridName= txtGridName.Text,
GridColumns = GetGridColumnStates()
});
xw.Close();
}
XElement el = doc.Root;
To deserialize
using (XmlReader xr = el.CreateReader())
{
GridState myDeserializedObject = x.Deserialize(xr) as GridState;
xr.Close();
}
Problem
I were using FileStream to Serialize an Object to Xml and Save to the disk ``` Stream str = new FileStream(@"serializedstate.xml", FileMode.OpenOrCreate) XmlSerializer x = new XmlSerializer(typeof(GridState)); x.Serialize(str, new GridState { GridName= txtGridName.Text, GridColumns = GetGridColumnStates() }); ``` This works fine and Xml file is generated on disk. How do I save serialized Object as Xml into a Sql Server 2008 database's XML column using Linq to SQL? And how to deserialize the same from database?