本文整理汇总了C#中Db4objects.Db4o.Internal.Transaction.ObjectForIdFromCache方法的典型用法代码示例。如果您正苦于以下问题:C# Transaction.ObjectForIdFromCache方法的具体用法?C# Transaction.ObjectForIdFromCache怎么用?C# Transaction.ObjectForIdFromCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.Transaction
的用法示例。
在下文中一共展示了Transaction.ObjectForIdFromCache方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrefetchObjects
public virtual int PrefetchObjects(ClientObjectContainer container, Transaction trans
, IIntIterator4 ids, object[] prefetched, int prefetchCount)
{
int count = 0;
IList idsToGet = new ArrayList();
while (count < prefetchCount)
{
if (!ids.MoveNext())
{
break;
}
int id = ids.CurrentInt();
if (id > 0)
{
object obj = trans.ObjectForIdFromCache(id);
if (obj != null)
{
prefetched[count] = obj;
}
else
{
idsToGet.Add(Pair.Of(id, count));
}
count++;
}
}
if (idsToGet.Count > 0)
{
ByteArrayBuffer[] buffers = container.ReadObjectSlots(trans, IdArrayFor(idsToGet)
);
for (int i = 0; i < buffers.Length; i++)
{
Pair pair = ((Pair)idsToGet[i]);
int id = (((int)pair.first));
int position = (((int)pair.second));
object obj = trans.ObjectForIdFromCache(id);
if (obj != null)
{
prefetched[position] = obj;
}
else
{
prefetched[position] = new ObjectReference(id).ReadPrefetch(trans, buffers[i], Const4
.AddToIdTree);
}
}
}
return count;
}
示例2: GetActivatedObjectFromCache
public object GetActivatedObjectFromCache(Transaction ta, int id)
{
object obj = ta.ObjectForIdFromCache(id);
if (obj == null)
{
return null;
}
Activate(ta, obj);
return obj;
}
示例3: IsCached
public virtual bool IsCached(Transaction trans, long id)
{
lock (_lock)
{
trans = CheckTransaction(trans);
return trans.ObjectForIdFromCache((int)id) != null;
}
}
示例4: GetByID2
public virtual object GetByID2(Transaction ta, int id)
{
object obj = ta.ObjectForIdFromCache(id);
if (obj != null)
{
// Take care about handling the returned candidate reference.
// If you loose the reference, weak reference management might
// also.
return obj;
}
return new ObjectReference(id).Read(ta, new LegacyActivationDepth(0), Const4.AddToIdTree
, true);
}