示例#1
0
        public void PutNewDocInTxCommitAndThenGetIt()
        {
            var transactionInformation = new TransactionInformation {
                Id = Guid.NewGuid().ToString(), Timeout = TimeSpan.FromMinutes(1)
            };

            db.Put("ayende", null, RavenJObject.Parse("{ayende:'rahien'}"), new RavenJObject(), transactionInformation);

            db.PrepareTransaction(transactionInformation.Id);
            db.Commit(transactionInformation.Id);

            Assert.NotNull(db.Get("ayende", null));
        }
示例#2
0
文件: Deletes.cs 项目: ybdev/ravendb
        public void DeletingDocumentAndThenAddingDocumentInSameTransactionCanWork()
        {
            db.Put("ayende", null, RavenJObject.Parse("{ayende:'oren'}"), new RavenJObject(), null);
            var transactionInformation = new TransactionInformation {
                Id = Guid.NewGuid().ToString(), Timeout = TimeSpan.FromMinutes(1)
            };

            db.Delete("ayende", null, transactionInformation);
            db.Put("ayende", null, RavenJObject.Parse("{ayende:'rahien'}"), new RavenJObject(), transactionInformation);
            db.PrepareTransaction(transactionInformation.Id);
            db.Commit(transactionInformation.Id);

            Assert.Equal("rahien", db.Get("ayende", null).ToJson()["ayende"].Value <string>());
        }
示例#3
0
文件: Etags.cs 项目: ybdev/ravendb
        public void WhenUsingTransactionWillWorkIfDocumentEtagMatch()
        {
            db.Put("ayende", null, RavenJObject.Parse("{ayende:'oren'}"), new RavenJObject(), null);
            var doc = db.Get("ayende", null);
            var transactionInformation = new TransactionInformation {
                Id = Guid.NewGuid().ToString(), Timeout = TimeSpan.FromMinutes(1)
            };

            db.Put("ayende", doc.Etag, RavenJObject.Parse("{ayende:'rahien'}"), new RavenJObject(), transactionInformation);
            db.PrepareTransaction(transactionInformation.Id);
            db.Commit(transactionInformation.Id);


            Assert.Equal("rahien", db.Get("ayende", null).ToJson()["ayende"].Value <string>());
        }
示例#4
0
        public void PutTwoDocumentsAndThenCommit()
        {
            EnsureDtcIsSupported(db);
            var transactionInformation = new TransactionInformation {
                Id = Guid.NewGuid().ToString(), Timeout = TimeSpan.FromMinutes(1)
            };

            db.Documents.Put("ayende1", null, RavenJObject.Parse("{ayende:'rahien'}"), new RavenJObject(), transactionInformation);
            db.Documents.Put("ayende2", null, RavenJObject.Parse("{ayende:'rahien'}"), new RavenJObject(), transactionInformation);

            db.PrepareTransaction(transactionInformation.Id);
            db.Commit(transactionInformation.Id);

            Assert.NotNull(db.Documents.Get("ayende1", null));
            Assert.NotNull(db.Documents.Get("ayende2", null));
        }