예제 #1
0
        internal void ReadObject(BinSerializer bs)
        {
            PartitionKeys = bs.ReadUInt16Array();
            int count = bs.ReadInt32();

            if (count > 0)
            {
                ClusteringColumns = new FieldWithOrder[count];
                for (int i = 0; i < count; i++)
                {
                    ClusteringColumns[i] = new FieldWithOrder()
                    {
                        MemberId    = bs.ReadUInt16(),
                        OrderByDesc = bs.ReadBoolean()
                    };
                }
            }
        }
예제 #2
0
        public virtual void ReadObject(BinSerializer bs)
        {
            uint propIndex;

            do
            {
                propIndex = bs.ReadUInt32();
                switch (propIndex)
                {
                case 1: Owner = (EntityModel)bs.Deserialize(); break;

                case 2: IndexId = bs.ReadByte(); break;

                case 3: Name = bs.ReadString(); break;

                case 4: Unique = bs.ReadBoolean(); break;

                case 6:
                    int count = bs.ReadInt32();
                    Fields = new FieldWithOrder[count];
                    for (int i = 0; i < count; i++)
                    {
                        Fields[i].ReadObject(bs);
                    }
                    break;

                case 7: StoringFields = bs.ReadUInt16Array(); break;

                case 9: PersistentState = (PersistentState)bs.ReadByte(); break;

                case 0: break;

                default: throw new Exception(string.Format("Deserialize_ObjectUnknownFieldIndex: {0} at {1} ", GetType().Name, propIndex));
                }
            } while (propIndex != 0);
        }