예제 #1
0
파일: LinqQuery.cs 프로젝트: kennyup/marten
        // Leave this code here, because it will need to use the SubQuery logic in its selection
        public ISelector <T> BuildSelector(IIncludeJoin[] joins, QueryStatistics stats, SelectManyQuery subQuery, IIncludeJoin[] includeJoins)
        {
            var selector = _innerSelector = SelectorParser.ChooseSelector <T>("d.data", _schema, _mapping, Model, subQuery, joins);

            if (stats != null)
            {
                selector = new StatsSelector <T>(selector);
            }

            if (joins.Any())
            {
                selector = new IncludeSelector <T>(_schema, selector, joins);
            }

            return(selector);
        }
예제 #2
0
파일: LinqQuery.cs 프로젝트: uwascan/marten
        // Leave this code here, because it will need to use the SubQuery logic in its selection
        public ISelector <T> BuildSelector(IIncludeJoin[] joins, QueryStatistics stats, SelectManyQuery subQuery)
        {
            var selector =
                _innerSelector = SelectorParser.ChooseSelector <T>("d.data", _store.Tenancy.Default, _mapping, Model, subQuery, _store.Serializer, joins);

            if (stats != null)
            {
                selector = new StatsSelector <T>(selector);
            }

            if (joins.Any())
            {
                selector = new IncludeSelector <T>(_store.Storage, selector, joins);
            }

            return(selector);
        }
예제 #3
0
        public static ISelector <T> BuildSelector(IDocumentSchema schema, QueryModel query,
                                                  IIncludeJoin[] joins, QueryStatistics stats)
        {
            var mapping  = schema.MappingFor(query).ToQueryableDocument();
            var selector = schema.BuildSelector <T>(mapping, query);

            if (stats != null)
            {
                selector = new StatsSelector <T>(stats, selector);
            }

            if (joins.Any())
            {
                selector = new IncludeSelector <T>(schema, selector, joins);
            }

            return(selector);
        }
예제 #4
0
        public OneResultHandler(int rowLimit, IDocumentSchema schema, QueryModel query, IIncludeJoin[] joins, bool canBeNull = true, bool canBeMultiples = true)
        {
            _rowLimit       = rowLimit;
            _mapping        = schema.MappingFor(query).ToQueryableDocument();
            _schema         = schema;
            _query          = query;
            _canBeNull      = canBeNull;
            _canBeMultiples = canBeMultiples;

            var selector = _schema.BuildSelector <T>(_mapping, _query);

            if (joins.Any())
            {
                selector = new IncludeSelector <T>(schema, selector, joins);
            }

            _selector = selector;
        }
예제 #5
0
        public IncludeSelectorTests()
        {
            inner.SelectFields().Returns(new string[] { "a", "b", "c" });

            theSelector = new IncludeSelector <Issue, User>("foo", theMapping, theCallback, inner, theResolver);
        }
예제 #6
0
        public IncludeSelectorTests()
        {
            inner.SelectFields().Returns(new string[] {"a", "b", "c"});

            theSelector = new IncludeSelector<Issue, User>("foo", theMapping, theCallback, inner, theResolver);
        }