当前位置: 首页>>代码示例>>C#>>正文


C# ClassMetadata.Index方法代码示例

本文整理汇总了C#中Db4objects.Db4o.Internal.ClassMetadata.Index方法的典型用法代码示例。如果您正苦于以下问题:C# ClassMetadata.Index方法的具体用法?C# ClassMetadata.Index怎么用?C# ClassMetadata.Index使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Db4objects.Db4o.Internal.ClassMetadata的用法示例。


在下文中一共展示了ClassMetadata.Index方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReadIndex

		protected override void ReadIndex(ObjectContainerBase stream, ClassMetadata clazz
			, ByteArrayBuffer reader)
		{
			int indexID = reader.ReadInt();
			if (indexID == 0)
			{
				return;
			}
			clazz.Index().Read(stream, indexID);
		}
开发者ID:Orvid,项目名称:SQLInterfaceCollection,代码行数:10,代码来源:ClassMarshaller2.cs

示例2: ReadIndex

		protected override void ReadIndex(ObjectContainerBase stream, ClassMetadata clazz
			, ByteArrayBuffer reader)
		{
			int indexID = reader.ReadInt();
			if (!stream.MaintainsIndices() || !(stream is LocalObjectContainer))
			{
				return;
			}
			if (Btree(clazz) != null)
			{
				return;
			}
			clazz.Index().Read(stream, ValidIndexId(indexID));
			if (IsOldClassIndex(indexID))
			{
				new ClassIndexesToBTrees_5_5().Convert((LocalObjectContainer)stream, indexID, Btree
					(clazz));
				stream.SetDirtyInSystemTransaction(clazz);
			}
		}
开发者ID:erdincay,项目名称:db4o,代码行数:20,代码来源:ClassMarshaller0.cs

示例3: WriteIndex

		protected virtual void WriteIndex(Transaction trans, ClassMetadata clazz, ByteArrayBuffer
			 writer)
		{
			int indexID = clazz.Index().Write(trans);
			writer.WriteInt(IndexIDForWriting(indexID));
		}
开发者ID:erdincay,项目名称:db4o,代码行数:6,代码来源:ClassMarshaller.cs

示例4: MarshalledLength

		public virtual int MarshalledLength(ObjectContainerBase stream, ClassMetadata clazz
			)
		{
			IntByRef len = new IntByRef(stream.StringIO().ShortLength(clazz.NameToWrite()) + 
				Const4.ObjectLength + (Const4.IntLength * 2) + (Const4.IdLength));
			len.value += clazz.Index().OwnLength();
			clazz.TraverseDeclaredAspects(new _IProcedure4_108(this, len, stream));
			return len.value;
		}
开发者ID:erdincay,项目名称:db4o,代码行数:9,代码来源:ClassMarshaller.cs

示例5: TraverseAllIndexSlots

		public virtual void TraverseAllIndexSlots(ClassMetadata classMetadata, IVisitor4 
			command)
		{
			IEnumerator slotIDIter = classMetadata.Index().AllSlotIDs(Sourcedb.Transaction(this
				));
			while (slotIDIter.MoveNext())
			{
				command.Visit(slotIDIter.Current);
			}
		}
开发者ID:erdincay,项目名称:db4o,代码行数:10,代码来源:DefragmentServicesImpl.cs

示例6: TraverseAll

		public virtual void TraverseAll(ClassMetadata classMetadata, IVisitor4 command)
		{
			if (!classMetadata.HasClassIndex())
			{
				return;
			}
			classMetadata.Index().TraverseAll(Sourcedb.Transaction(this), command);
		}
开发者ID:erdincay,项目名称:db4o,代码行数:8,代码来源:DefragmentServicesImpl.cs

示例7: LoadFromClassIndex

		public override void LoadFromClassIndex(ClassMetadata clazz)
		{
			IClassIndexStrategy index = clazz.Index();
			if (index is BTreeClassIndexStrategy)
			{
				BTree btree = ((BTreeClassIndexStrategy)index).Btree();
				_ids = new IntArrayList(btree.Size(Transaction()));
			}
			index.TraverseAll(_transaction, new _IVisitor4_107(this));
		}
开发者ID:Orvid,项目名称:SQLInterfaceCollection,代码行数:10,代码来源:IdListQueryResult.cs

示例8: Btree

		public static BTree Btree(ClassMetadata clazz)
		{
			IClassIndexStrategy index = clazz.Index();
			if (!(index is Db4objects.Db4o.Internal.Classindex.BTreeClassIndexStrategy))
			{
				throw new InvalidOperationException();
			}
			return ((Db4objects.Db4o.Internal.Classindex.BTreeClassIndexStrategy)index).Btree
				();
		}
开发者ID:erdincay,项目名称:db4o,代码行数:10,代码来源:BTreeClassIndexStrategy.cs

示例9: ProcessClassIndex

		/// <exception cref="Db4objects.Db4o.CorruptionException"></exception>
		/// <exception cref="System.IO.IOException"></exception>
		private static void ProcessClassIndex(DefragmentServicesImpl context, ClassMetadata
			 curClass, IPassCommand command)
		{
			if (curClass.HasClassIndex())
			{
				BTreeClassIndexStrategy indexStrategy = (BTreeClassIndexStrategy)curClass.Index();
				BTree btree = indexStrategy.Btree();
				command.ProcessBTree(context, btree);
			}
		}
开发者ID:Orvid,项目名称:SQLInterfaceCollection,代码行数:12,代码来源:Defragment.cs

示例10: ProcessClassAndFieldIndices

		/// <exception cref="Db4objects.Db4o.CorruptionException"></exception>
		/// <exception cref="System.IO.IOException"></exception>
		private static void ProcessClassAndFieldIndices(DefragmentServicesImpl context, ClassMetadata
			 curClass, IPassCommand command)
		{
			int sourceClassIndexID = 0;
			int targetClassIndexID = 0;
			if (curClass.HasClassIndex())
			{
				sourceClassIndexID = curClass.Index().Id();
				targetClassIndexID = context.MappedID(sourceClassIndexID, -1);
			}
			command.ProcessClass(context, curClass, curClass.GetID(), targetClassIndexID);
		}
开发者ID:Orvid,项目名称:SQLInterfaceCollection,代码行数:14,代码来源:Defragment.cs

示例11: GetIDsForClass

		public override long[] GetIDsForClass(Transaction trans, ClassMetadata clazz)
		{
			IntArrayList ids = new IntArrayList();
			clazz.Index().TraverseAll(trans, new _IVisitor4_792(ids));
			return ids.AsLong();
		}
开发者ID:erdincay,项目名称:db4o,代码行数:6,代码来源:LocalObjectContainer.cs

示例12: CollectClassSlots

		private void CollectClassSlots(ClassMetadata clazz)
		{
			if (!clazz.HasClassIndex())
			{
				return;
			}
			BTreeClassIndexStrategy index = (BTreeClassIndexStrategy)clazz.Index();
			index.TraverseAll(_db.SystemTransaction(), new _IVisitor4_182(this));
		}
开发者ID:erdincay,项目名称:db4o,代码行数:9,代码来源:FileUsageStatsCollector.cs

示例13: ClassSlotUsage

		private FileUsageStatsCollector.InstanceUsage ClassSlotUsage(ClassMetadata clazz)
		{
			if (!clazz.HasClassIndex())
			{
				return new FileUsageStatsCollector.InstanceUsage(0, 0);
			}
			IMiscCollector miscCollector = ((IMiscCollector)MiscCollectors[clazz.GetName()]);
			LongByRef slotUsage = new LongByRef();
			LongByRef miscUsage = new LongByRef();
			BTreeClassIndexStrategy index = (BTreeClassIndexStrategy)clazz.Index();
			index.TraverseAll(_db.SystemTransaction(), new _IVisitor4_166(this, slotUsage, miscCollector
				, miscUsage));
			return new FileUsageStatsCollector.InstanceUsage(slotUsage.value, miscUsage.value
				);
		}
开发者ID:erdincay,项目名称:db4o,代码行数:15,代码来源:FileUsageStatsCollector.cs


注:本文中的Db4objects.Db4o.Internal.ClassMetadata.Index方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。