Beispiel #1
0
        public QueryManager(
            QueryConfigurationBase <TEntity> config,
            QueryConfigurationUniversal universalConfig)
        {
            var instructions = new QueryInstructions <TEntity>(config, universalConfig);

            Querier  = instructions.Querier;
            Orderer  = instructions.Orderer;
            Includer = instructions.Includer();
        }
Beispiel #2
0
        public QueryInstructions(
            QueryConfigurationBase <TEntity> config,
            QueryConfigurationUniversal universalConfig)
        {
            Querier          = Handler;
            _includerDetails = config.IncluderDetails;
            _contains        = universalConfig.Methods.Contains;
            _compareTo       = universalConfig.Methods.CompareTo;

            var type  = typeof(QueryInstructions <TEntity>);
            var flags = BindingFlags.NonPublic | BindingFlags.Instance;

            _methodContainer = new Dictionary <string, MethodInfo>
            {
                { QueryMethods.StringContains,
                  type.GetMethod(nameof(CallStringContains), flags) },
                { QueryMethods.DateTimeCompare,
                  type.GetMethod(nameof(CallDateTimeCompare), flags) }
            };
        }