Пример #1
0
        private static QuerySourceScope <TEntity> CreateEntity <TEntity>(
            IQuerySource querySource,
            QueryContext queryContext,
            QuerySourceScope parentQuerySourceScope,
            ValueBuffer valueBuffer,
            int valueBufferOffset,
            IEntityType entityType,
            bool queryStateManager,
            EntityKeyFactory entityKeyFactory,
            IReadOnlyList <IProperty> keyProperties,
            Func <ValueBuffer, object> materializer)
            where TEntity : class
        {
            valueBuffer = valueBuffer.UpdateOffset(valueBufferOffset);

            var entityKey
                = entityKeyFactory.Create(entityType, keyProperties, valueBuffer);

            return(new QuerySourceScope <TEntity>(
                       querySource,
                       (TEntity)queryContext.QueryBuffer
                       .GetEntity(
                           entityType,
                           entityKey,
                           new EntityLoadInfo(
                               valueBuffer,
                               materializer),
                           queryStateManager),
                       parentQuerySourceScope));
        }
Пример #2
0
 private static QuerySourceScope <ValueBuffer> CreateValueBuffer(
     IQuerySource querySource,
     QueryContext queryContext,
     QuerySourceScope parentQuerySourceScope,
     ValueBuffer valueBuffer,
     int valueBufferOffset)
 {
     return(new QuerySourceScope <ValueBuffer>(
                querySource,
                valueBuffer.UpdateOffset(valueBufferOffset),
                parentQuerySourceScope));
 }