日期:2010-12-05  浏览次数:20442 次

通过序列化和反序列化泛型数据实体集合来实现持久化数据对象的方法

我们在平时使用数据库的时候,经常会碰到一个问题,就是不希望数据实体对象插入数据库中, 却有想持久化的时候,那么就可以用序列化成

XML字符串,来保存到其他地方,由于生成的是字符串,所以可以保存到任意我们想保存的地方。比如 asp.net的ViewState,cookie,cache等。

首先,我们定义一个数据实体类。

    class Entity
    {
        public Entity()
        {}
        private int id;
        public int Id
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        private string name;
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

        private double price;
        public double Price
        {
            get
            {
                return price;
            }
            set
            {
                price = value;
            }
        }
    }


于是将他插入到List<Entity>对象中

    List<Entity> list = new List<Entity>();
    Entity obj = new Entity();
    obj.Id = 1;
    obj.Name = "test";
    obj.Price = 3.23;
    list.Add(obj);
 这样,一个List<Entity>对象就创建成功了,下面我们来将他序列化

        public static string Serialize<BusinessObject>(List<BusinessObject> GenericList)
        {
            XmlDocument result = new XmlDocument();
            result.LoadXml("<Root></Root>");
            foreach (BusinessObject obj in GenericLi