C#如何把一个类的对象存入数据库(此时在数据库里面应该保存成什么数据类型)

C#如何把一个类的对象存入数据库(此时在数据库里面应该保存成什么数据类型,以MySql为例吧),然后我又如何取出,如何反序列化,请大神指教!最好能给点示例代码,谢谢了!

可以使用.net提供的序列化和反序列化方法来实现,你可将对象序列化成XML字符串,然后存入数据库中,当你要使用对象的时候,再把数据库中保存字符串反序列化成对象就可以使用了,以下为示例代码:

public class Cat
{
    public string Color { get; set; }
    public int Speed { get; set; }
    public string Name{ get; set; }
 }
//序列化
var cat1=new Cat{Color="Write",Speed=50,Name="MiMi" };
XmlSerializer ser = new XmlSerializer(typeof(Cat));
MemoryStream ms = new MemoryStream();
ser.Serialize(ms, cat1);
string xmlString = Encoding.UTF8.GetString(ms.ToArray());
//xmlString就是你要保存到数据库的字符串

//反序列化
XmlSerializer dser = new XmlSerializer(typeof(Cat));
//xmlString是你从数据库获取的字符串
Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString));
Cat cat2=dser.Deserialize(xmlStream) as Cat;//cat2 就是你要得到的class对象

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-19
很少听说直接把类作为对象存入数据库的,一般都是按类中属性值建立数据库表的字段,然后每张表代表一个类,这样把类数据保存入表中比较合适吧。
第2个回答  2014-01-19
应该保存为二进制对象。
相似回答