예제 #1
0
 public InMemoryQueryContext(
     [NotNull] ILogger logger,
     [NotNull] IQueryBuffer queryBuffer)
     : base(
         Check.NotNull(logger, "logger"),
         Check.NotNull(queryBuffer, "queryBuffer"))
 {
 }
예제 #2
0
        public RelationalQueryContext(
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] IRelationalConnection connection)
            : base(Check.NotNull(queryBuffer, nameof(queryBuffer)))
        {
            Check.NotNull(connection, nameof(connection));

            Connection = connection;
        }
        public QueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer)
        {
            Check.NotNull(logger, nameof(logger));
            Check.NotNull(queryBuffer, nameof(queryBuffer));

            Logger      = logger;
            QueryBuffer = queryBuffer;
        }
예제 #4
0
        public QueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer)
        {
            Check.NotNull(logger, "logger");
            Check.NotNull(queryBuffer, "queryBuffer");

            _logger      = logger;
            _queryBuffer = queryBuffer;
        }
예제 #5
0
 public InMemoryQueryContext(
     [NotNull] ILogger logger,
     [NotNull] IQueryBuffer queryBuffer,
     [NotNull] IInMemoryStore store)
     : base(
         Check.NotNull(logger, nameof(logger)),
         Check.NotNull(queryBuffer, nameof(queryBuffer)))
 {
     Store = store;
 }
 public InMemoryQueryContext(
     [NotNull] ILogger logger,
     [NotNull] IQueryBuffer queryBuffer,
     [NotNull] IInMemoryDatabase database)
     : base(
         Check.NotNull(logger, nameof(logger)),
         Check.NotNull(queryBuffer, nameof(queryBuffer)))
 {
     Database = database;
 }
예제 #7
0
        // ReSharper disable once InconsistentNaming
        private static TEntity _Include <TEntity>(
            TEntity entity,
            object[] included,
            IStateManager stateManager,
            IQueryBuffer queryBuffer,
            Action <TEntity, object[], IStateManager, IQueryBuffer> fixup)
        {
            fixup(entity, included, stateManager, queryBuffer);

            return(entity);
        }
예제 #8
0
        public RedisQueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] RedisDatabase redisDatabase)
            : base(
                Check.NotNull(logger, "logger"),
                Check.NotNull(queryBuffer, "queryBuffer"))
        {
            Check.NotNull(redisDatabase, "redisDatabase");

            _redisDatabase = redisDatabase;
        }
예제 #9
0
        public virtual AtsQueryContext MakeQueryContext(
            [NotNull] IModel model,
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] AtsConnection connection)
        {
            Check.NotNull(model, "model");
            Check.NotNull(logger, "logger");
            Check.NotNull(queryBuffer, "queryBuffer");
            Check.NotNull(connection, "connection");

            return(new AtsQueryContext(logger, queryBuffer, connection, _valueReaderFactory));
        }
예제 #10
0
        public InMemoryQueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] StateManager stateManager,
            [NotNull] InMemoryDatabase database)
            : base(
                Check.NotNull(logger, "logger"),
                Check.NotNull(queryBuffer, "queryBuffer"),
                Check.NotNull(stateManager, "stateManager"))
        {
            Check.NotNull(database, "database");

            _database = database;
        }
예제 #11
0
        public RelationalQueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] IRelationalConnection connection,
            [NotNull] RelationalValueReaderFactory valueReaderFactory)
            : base(
                Check.NotNull(logger, nameof(logger)),
                Check.NotNull(queryBuffer, nameof(queryBuffer)))
        {
            Check.NotNull(connection, nameof(connection));
            Check.NotNull(valueReaderFactory, nameof(valueReaderFactory));

            Connection         = connection;
            ValueReaderFactory = valueReaderFactory;
        }
예제 #12
0
        public RelationalQueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] RelationalConnection connection,
            [NotNull] RelationalValueReaderFactory valueReaderFactory)
            : base(
                Check.NotNull(logger, "logger"),
                Check.NotNull(queryBuffer, "queryBuffer"))
        {
            Check.NotNull(connection, "connection");
            Check.NotNull(valueReaderFactory, "valueReaderFactory");

            Connection         = connection;
            ValueReaderFactory = valueReaderFactory;
        }
예제 #13
0
        public AtsQueryContext(
            [NotNull] ILogger logger,
            [NotNull] IQueryBuffer queryBuffer,
            [NotNull] AtsConnection connection,
            [NotNull] AtsValueReaderFactory readerFactory)
            : base(
                Check.NotNull(logger, "logger"),
                Check.NotNull(queryBuffer, "queryBuffer"))
        {
            Check.NotNull(logger, "logger");
            Check.NotNull(readerFactory, "readerFactory");

            _connection         = connection;
            ValueReaderFactory  = readerFactory;
            TableQueryGenerator = new TableQueryGenerator();
        }
예제 #14
0
        /// <summary>
        ///     Gets values from database and materializes new EntityTypes
        /// </summary>
        /// <typeparam name="TResult">type of expected result</typeparam>
        /// <param name="entityType">EntityType of </param>
        /// <param name="queryBuffer"></param>
        /// <returns>An Enumerable of materialized EntityType objects</returns>
        public virtual IEnumerable <TResult> GetMaterializedResults <TResult>(
            [NotNull] IEntityType entityType,
            [NotNull] IQueryBuffer queryBuffer)
        {
            Check.NotNull(entityType, "entityType");
            Check.NotNull(queryBuffer, "queryBuffer");

            var redisPrimaryKeyIndexKeyName
                = ConstructRedisPrimaryKeyIndexKeyName(entityType);

            var allKeysForEntity
                = GetUnderlyingDatabase().SetMembers(redisPrimaryKeyIndexKeyName);

            return(allKeysForEntity
                   .Select(compositePrimaryKeyValues
                           => GetEntityQueryObjectsFromDatabase(compositePrimaryKeyValues, entityType, DecodeBytes))
                   .Select(objectArrayFromHash
                           => (TResult)queryBuffer
                           .GetEntity(entityType, new ObjectArrayValueReader(objectArrayFromHash))));
        }
예제 #15
0
        public QueryContext([NotNull] IQueryBuffer queryBuffer)
        {
            Check.NotNull(queryBuffer, nameof(queryBuffer));

            QueryBuffer = queryBuffer;
        }