Lex.db 数据库使用方法(之二)

       之前写的Lex.db 数据库使用方法(之一)并没有说明对稍微复杂一点的数据应该如何存储,比如说类里面包含其他类的对象的情况,现在做简单介绍。

        比如说现在有这样一个类juice包含了一些信息,如:果汁名,品级。还有一个类drink:它包含juice对象同时还有自身的一些信息如:饮料容量,饮料溶度等。这两个类的定义如下:

namespace lex.db.Model
{
    public class Juice
    {
        private string mName;
        public string Name
        {
            set;
            get { return mName; }
        }
        private int mRank;
        public int Rank
        {
            set;
            get { return mRank; }
        }
    }
}
namespace lex.db.Model
{
    public class Drank
    {
        private string mCapcity;
        public string Capcity
        {
            set;
            get { return mCapcity; }
        }
        private string mDensity;
        public string Density
        {
            set;
            get { return mDensity; }
        }
        private Juice mJuice;
        public Juice Juice
        {
            set;
            get { return mJuice; }
        }
    }
}

        假如有Drank的对象需要存储,然而数据库并不知道如何存储Drank对象中包含的其他对象成员,因此必须告诉数据库如何存储。方法如下:

        public static class JuiceSerializers
        {
            public static Juice ReadPoint(DataReader reader)
            {
                return new Juice {
                    Name= reader.ReadString(), 
                    Rank = reader.ReadInt32() 
                };
            }

            public static void WritePoint(DataWriter writer, Juice value)
            {
                writer.Write(value.Name);
                writer.Write(value.Rank);
            }
        }

      现在实现将该类存入数据库,存入的方法同Lex.db 数据库使用方法(之一)请参考那篇文章。

     至此您可以使用您的数据库了。

 

你可能感兴趣的:(WindowsPhone,Lex.DB)