示例#1
0
        public void Can_Insert_Sparse_Index()
        {
            var db = CreatePocoDynamo();

            db.RegisterTable <SparseLocalIndex>();
            db.InitSchema();

            db.PutItem(new SparseLocalIndex {
                HashKey = "A", RangeKey = 1, LocalIndex = "Foo"
            });

            var result = db.FromQuery <SparseLocalIndex>(x => x.HashKey == "A")
                         .LocalIndex(x => x.LocalIndex == "Foo")
                         .Exec()
                         .First();

            Assert.That(result.RangeKey, Is.EqualTo(1));

            db.PutItem(new SparseLocalIndex {
                HashKey = "A", RangeKey = 2, LocalIndex = null
            });

            result = db.FromQuery <SparseLocalIndex>(x => x.HashKey == "A")
                     .Filter(x => Dynamo.AttributeNotExists(x.LocalIndex))
                     .Exec()
                     .First();

            Assert.That(result.RangeKey, Is.EqualTo(2));
        }
示例#2
0
        public void Does_serialize_attribute_not_exists()
        {
            InitTypes();

            var q = Parse <Collection>(x => Dynamo.AttributeNotExists(x.Title));

            Assert.That(q.FilterExpression, Is.EqualTo("attribute_not_exists(Title)"));
            Assert.That(q.Params.Count, Is.EqualTo(0));
        }