在SQL数据库中读取和写入.NET对象而不进行序列化

时间:2011-01-11 02:47:21

标签: sql-server object

我有一个小查询。我需要创建一个自己的缓存服务,它将在数据库中写入和读取.NET对象。现在,我已经在二进制序列化的帮助下实现了这一点。但问题是我需要刻意将我的对象标记为[Serializable],这让我觉得如果有人试图添加一个未标记为[Serializable]的对象会怎样。

因此,我需要找到一种在没有序列化的情况下读取和写入对象数据库的方法。

我也有一个想法..众所周知,Session可以存储任何对象。现在,我们可以将会话存储在DB,outproc中。它使用什么机制来存储这些对象而不进行序列化或反序列化。

任何帮助都将受到高度赞赏。

感谢。 M.B

2 个答案:

答案 0 :(得分:1)

如果它以任何方式保存到磁盘,它会以某种方式序列化状态。您可以轻松地使用XML将数据序列化到数据库中。

查看System.Xml.Serialization命名空间。

答案 1 :(得分:0)

序列化对象意味着从该对象获取信息并以标准方式将其存储到某种形式的永久存储中,以便稍后可以通过该信息有效地重建该对象。任何要写入数据库的对象都应该是可序列化的。如果在没有某种形式的序列化过程的情况下存储它,那么当尝试反序列化时,对象可能会以奇怪或不一致的状态被回读。