public CountComparisonStatement(IMartenSession session, Type documentType, IFieldMapping fields,
                                        Statement parent) : base(documentType, fields, parent)
        {
            ConvertToCommonTableExpression(session);
            parent.InsertAfter(this);

            _tableName = parent.ExportName;
        }
예제 #2
0
        public IdSelectorStatement(IMartenSession session, IFieldMapping fields, Statement parent) : base(fields)
        {
            parent.InsertAfter(this);

            ConvertToCommonTableExpression(session);

            // Important when doing n-deep sub-collection querying
            // And you need to remember the original FromObject
            // of the original parent rather than looking at Previous.ExportName
            // in the configure() method
            FromObject = parent.ExportName;
        }
예제 #3
0
        public CountStatement(Statement parent) : base(new ScalarSelectClause <T>("count(*)", parent.ExportName), parent.Fields)
        {
            if (parent.Mode != StatementMode.CommonTableExpression)
            {
                throw new ArgumentOutOfRangeException(nameof(parent), "CountStatement's parent must be a Common Table Expression statement");
            }

            parent.InsertAfter(this);

            TableName = parent.ExportName;

            SingleValue            = true;
            ReturnDefaultWhenEmpty = true;
            CanBeMultiples         = true;
        }