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

2024-12-26 00:33:47
推荐回答(1个)
回答1:

可以使用.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对象