.NET开发

导航

对象存数据库的几种方案比较

1、将每个属性用字段的方式存数据库,一个字,烦
2、如果属性不需要检索、排序等操作,可以将整个对象存数据库
方法:
     先序列化,以byte[] 的形式将数据存储到数据库的二进制字段(varbinary(MAX))
     读取的时候反序列化,再显式转换为对象

优点:性能好,占数据少
缺点:如果你更改了对象属性的话,以前存储的对象信息你就看不懂了,全是二进制
最佳方案,以xml的模式存储到数据库
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
System.IO.MemoryStream mem 
= new System.IO.MemoryStream();
formatter.Serialize(mem, 对象名);
byte[] buffer = new byte[mem.Length];
mem.Read(buffer, 
0, Convert.ToInt32(mem.Length));
string xml =System.Text.Encoding.UTF8.GetString(buffer);

    

posted on 2006-10-11 10:01  加林仙人  阅读(809)  评论(0编辑  收藏  举报