public virtual void TestCollectIdsByFieldName() { ClassMetadataCollectIdsTestCase.Item root = QueryRootItem(); CollectIdContext context = CollectIdContext.ForID(Trans(), (int)Db().GetID(root)); context.ClassMetadata().CollectIDs(context, "typedRef"); AssertCollectedIds(context, new object[] { root.typedRef }); }
public virtual void TestCollectIds() { ClassMetadataCollectIdsTestCase.Item root = QueryRootItem(); CollectIdContext context = CollectIdContext.ForID(Trans(), (int)Db().GetID(root)); context.ClassMetadata().CollectIDs(context); AssertCollectedIds(context, new object[] { root.typedRef, root.untypedRef, root.UntypedElementAt (0) }); }
/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception> private bool CollectIDsByTypehandlerAspect(QueryingReadContext context) { BooleanByRef aspectFound = new BooleanByRef(false); CollectIdContext subContext = CollectIdContext.ForID(context.Transaction(), context .Collector(), context.CollectionID()); ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_349(this , aspectFound, subContext, EnsureFieldList(subContext)); TraverseAllAspects(subContext, command); return(aspectFound.value); }
public object Apply(object current) { int id = ((int)current); CollectIdContext context = CollectIdContext.ForID(this._enclosing.i_trans, id); if (context == null) { return(Iterators.Skip); } context.ClassMetadata().CollectIDs(context, fieldName); return(new TreeKeyIterator(context.Ids())); }
public virtual IEnumerator ReferencesFrom(int id) { CollectIdContext context = CollectIdContext.ForID(_transaction, id); ClassMetadata classMetadata = context.ClassMetadata(); if (null == classMetadata) { // most probably ClassMetadata reading return(Iterators.EmptyIterator); } if (!classMetadata.HasIdentity()) { throw new InvalidOperationException(classMetadata.ToString()); } if (!Handlers4.IsCascading(classMetadata.TypeHandler())) { return(Iterators.EmptyIterator); } classMetadata.CollectIDs(context); return(new TreeKeyIterator(context.Ids())); }