Serializable,脱离对DB的束缚

一般意义上的软件开发,至少会包含两部分代码和数据,而数据一般会存放在SQL Server, Oracel, My SQL这样的数据库中,或者保存到Excel中,而Serializable却可以把对象序列化存储在硬盘中,虽然只能应用于轻量级数据的软件开发,但确实是脱离的对DB的束缚,至少不用在机器上安装SQL Server,再执行一批SQL Script,来创建表,存储过程之类的。

代码也很简单,就是在需要序列化的对象上面添加特性[Serializable]的标签

1     [Serializable]
2     public class DBObject
3     {
4         public List<DataObject> dataItems;
5         public int Id;
6         public string Name;
7     }

存储代码,这里的文件名称可以任意取,例如"MyDBFile.Bin"也可以:

                DBObject dBobj=new DBObject();
dBobj=.....
IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("MyDBFile.DB", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, dBObj); stream.Close();

读取代码,拿到dBobj之后,你想怎么用都行了,呵呵:):

                    DBObject dBobj=new DBObject();
IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("MyDBFile.DB, FileMode.Open, FileAccess.Read, FileShare.Read); dBobj = (DBObject)formatter.Deserialize(stream); stream.Close();

 

posted @ 2015-11-03 11:02  CeeChen  阅读(271)  评论(0编辑  收藏  举报