コード例 #1
0
        public List <T> Assert <T>(IMongoCollection <T> collection, Expression <Func <T, bool> > filter, int expectedCount, BsonDocument expectedFilter)
        {
            var serializer     = BsonSerializer.SerializerRegistry.GetSerializer <T>();
            var filterDocument = PredicateTranslator.Translate(filter, serializer, BsonSerializer.SerializerRegistry);

            var list = collection.FindSync(filterDocument).ToList();

            filterDocument.Should().Be(expectedFilter);
            list.Count.Should().Be(expectedCount);
            return(list);
        }
コード例 #2
0
        public void Assert(Expression <Func <Root, bool> > filter, int expectedCount, BsonDocument expectedFilter)
        {
            var serializer     = BsonSerializer.SerializerRegistry.GetSerializer <Root>();
            var filterDocument = PredicateTranslator.Translate(filter, serializer, BsonSerializer.SerializerRegistry);

            using (var cursor = _collection.FindAsync(filterDocument).GetAwaiter().GetResult())
            {
                var list = cursor.ToListAsync().GetAwaiter().GetResult();
                filterDocument.Should().Be(expectedFilter);
                list.Count.Should().Be(expectedCount);
            }
        }
コード例 #3
0
        // public methods
        /// <summary>
        /// Creates an IMongoQuery from the where clause (returns null if no where clause was specified).
        /// </summary>
        /// <returns>An IMongoQuery.</returns>
        public IMongoQuery BuildQuery()
        {
            if (_where == null)
            {
                return(null);
            }

            // TODO: check lambda for proper type

            var predicateTranslator = new PredicateTranslator(_serializationInfoHelper);
            var body = _where.Body;

            return(predicateTranslator.BuildQuery(body));
        }
コード例 #4
0
 /// <inheritdoc />
 public override BsonDocument Render(IBsonSerializer <TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry)
 {
     return(PredicateTranslator.Translate <TDocument>(_expression, documentSerializer, serializerRegistry));
 }
コード例 #5
0
        // public methods
        /// <summary>
        /// Creates an IMongoQuery from the where clause (returns null if no where clause was specified).
        /// </summary>
        /// <returns>An IMongoQuery.</returns>
        public ISequoiaQuery BuildQuery()
        {
            if (_where == null)
            {
                return null;
            }

            // TODO: check lambda for proper type

            var predicateTranslator = new PredicateTranslator(_serializationInfoHelper);
            var body = _where.Body;
            return predicateTranslator.BuildQuery(body);
        }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryBuilder&lt;TDocument&gt;"/> class.
 /// </summary>
 /// <param name="serializationInfoHelper">The serialization info helper.</param>
 internal QueryBuilder(BsonSerializationInfoHelper serializationInfoHelper)
 {
     _serializationInfoHelper = serializationInfoHelper;
     _predicateTranslator     = new PredicateTranslator(_serializationInfoHelper);
 }