当前位置: 首页>>代码示例>>C#>>正文


C# BucketContext.BeginChangeTracking方法代码示例

本文整理汇总了C#中BucketContext.BeginChangeTracking方法的典型用法代码示例。如果您正苦于以下问题:C# BucketContext.BeginChangeTracking方法的具体用法?C# BucketContext.BeginChangeTracking怎么用?C# BucketContext.BeginChangeTracking使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BucketContext的用法示例。


在下文中一共展示了BucketContext.BeginChangeTracking方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BeginChangeTracking_DoesNotClear_Modified_List

        public void BeginChangeTracking_DoesNotClear_Modified_List()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));

            db.BeginChangeTracking();

            var query = from x in db.Query<Beer>()
                        where x.Type == "beer"
                        select x;

            db.BeginChangeTracking();

            var context = db as IChangeTrackableContext;

            Assert.AreEqual(0, context.ModifiedCount);

            var brewery = query.First();
            brewery.Abv = 10;

            Assert.AreEqual(1, context.ModifiedCount);

            db.BeginChangeTracking();

            Assert.AreEqual(1, context.ModifiedCount);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:25,代码来源:BucketContextTests.cs

示例2: SubmitChanges_WhenCalled_DoesNotClearTrackedList

        public void SubmitChanges_WhenCalled_DoesNotClearTrackedList()
        {
            //arrange
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Configuration).Returns(new ClientConfiguration().BucketConfigs.First().Value);

            var ctx = new BucketContext(bucket.Object);
            ctx.BeginChangeTracking();

            var beer = new Beer
            {
                Name = "doc1" //key field
            };

            ctx.Save(beer);

            //act
            ctx.SubmitChanges();

            //assert
            Assert.AreEqual(1, ctx.TrackedCount);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:22,代码来源:BucketContextTests.cs

示例3: SubmitChanges_Removes_Document_From_Modified_List

        public void SubmitChanges_Removes_Document_From_Modified_List()
        {
            //arrange
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Configuration).Returns(new ClientConfiguration().BucketConfigs.First().Value);

            var ctx = new BucketContext(bucket.Object);
            ctx.BeginChangeTracking();

            var beer = new Beer
            {
                Name = "doc1" //key field
            };

            ctx.Save(beer);

            //act
            ctx.SubmitChanges();

            //assert
            Assert.AreEqual(0, ctx.ModifiedCount);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:22,代码来源:BucketContextTests.cs

示例4: Save_WhenChangeTrackingEnabled_AddsToTrackedList

        public void Save_WhenChangeTrackingEnabled_AddsToTrackedList()
        {
            //arrange
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Configuration).Returns(new ClientConfiguration().BucketConfigs.First().Value);

            var ctx = new BucketContext(bucket.Object);
            ctx.BeginChangeTracking();

            var beer = new Beer
            {
                Name = "doc1" //key field
            };

            ctx.Save(beer);

            Assert.AreEqual(1, ctx.TrackedCount);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:18,代码来源:BucketContextTests.cs

示例5: GetDocumentId_WhenChangeTrackingEnabled_ProxyUses__idFieldForKey

        public void GetDocumentId_WhenChangeTrackingEnabled_ProxyUses__idFieldForKey()
        {
            var document = (Beer)DocumentProxyManager.Default.CreateProxy(typeof(Beer));

            ((ITrackedDocumentNode) document).Metadata.Id = "thekey";

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Configuration).Returns(new ClientConfiguration().BucketConfigs.First().Value);

            var ctx = new BucketContext(bucket.Object);
            ctx.BeginChangeTracking();

            var key = ctx.GetDocumentId(document);

            Assert.AreEqual("thekey", key);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:16,代码来源:BucketContextTests.cs

示例6: EndChangeTracking_ChangeTrackingEnabled_Is_False

        public void EndChangeTracking_ChangeTrackingEnabled_Is_False()
        {
            //arrange
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Configuration).Returns(new ClientConfiguration().BucketConfigs.First().Value);

            var ctx = new BucketContext(bucket.Object);
            ctx.BeginChangeTracking();

            //act
            ctx.EndChangeTracking();

            //assert
            Assert.IsFalse(ctx.ChangeTrackingEnabled);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:15,代码来源:BucketContextTests.cs

示例7: Query_EnableProxyGenerationAddAddress_FlagAsDirty

        public void Query_EnableProxyGenerationAddAddress_FlagAsDirty()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));

            db.BeginChangeTracking();

            var query = from x in db.Query<Brewery>()
                        where x.Type == "brewery" && x.Address.Any()
                        select x;

            var brewery = query.First();
            var addresses = brewery.Address;

            addresses.Add("Test");

            // ReSharper disable once SuspiciousTypeConversion.Global
            var status = addresses as ITrackedDocumentNode;

            Assert.NotNull(status);
            Assert.IsTrue(status.IsDirty);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:21,代码来源:BucketContextTests.cs

示例8: SubmitChanges_WhenDocsAreModified_DocumentIsMutated

        public void SubmitChanges_WhenDocsAreModified_DocumentIsMutated()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));

            var query = from x in db.Query<Beer>()
                        where x.Type == "beer"
                        select x;

            db.BeginChangeTracking();

            var beer = query.First();

            beer.Abv = beer.Abv+1;

            db.SubmitChanges();

            var doc = ClusterHelper.GetBucket("beer-sample").GetDocument<Beer>(((ITrackedDocumentNode) beer).Metadata.Id);
            Assert.AreEqual(beer.Abv, doc.Content.Abv);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:19,代码来源:BucketContextTests.cs

示例9: SubmitChanges_ThenQuery_ReturnsChanges

        public void SubmitChanges_ThenQuery_ReturnsChanges()
        {
            var bucket = ClusterHelper.GetBucket("beer-sample");

            var clusterVersion = VersionProvider.Current.GetVersion(bucket);
            if (clusterVersion < FeatureVersions.ReadYourOwnWrite)
            {
                Assert.Ignore("Cluster does not support RYOW, test skipped.");
            }

            var db = new BucketContext(bucket);
            var testValue = new Random().Next(0, 100000);
            var testKey = "SubmitChanges_ThenQuery_ReturnsChanges_" + testValue;

            var testDocument = new Sample
            {
                Id = testKey,
                Value = testValue
            };

            db.BeginChangeTracking();
            db.Save(testDocument);
            db.SubmitChanges();

            try
            {
                Assert.NotNull(db.MutationState);

                var result = db.Query<Sample>()
                    .ConsistentWith(db.MutationState)
                    .FirstOrDefault(p => p.Id == testKey);

                Assert.NotNull(result);
                Assert.AreEqual(testValue, result.Value);
            }
            finally
            {
                db.Remove(testDocument);
            }
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:40,代码来源:BucketContextTests.cs

示例10: Query_EnableProxyGeneration_ReturnsProxyBeerWithId

        public void Query_EnableProxyGeneration_ReturnsProxyBeerWithId()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));
            db.BeginChangeTracking();

            const string documentId = "21st_amendment_brewery_cafe-21a_ipa";

            var query = from x in db.Query<Beer>().UseKeys(new[] { documentId })
                        where x.Type == "beer"
                        select x;

            var beer = query.First();

            // ReSharper disable once SuspiciousTypeConversion.Global
            var status = beer as ITrackedDocumentNode;

            Assert.NotNull(status);
            Assert.AreEqual(documentId, status.Metadata.Id);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:19,代码来源:BucketContextTests.cs

示例11: Query_EnableProxyGeneration_ReturnsProxyBeer

        public void Query_EnableProxyGeneration_ReturnsProxyBeer()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));

            db.BeginChangeTracking();

            var query = from x in db.Query<Beer>()
                        where x.Type == "beer"
                        select x;

            var beer = query.First();

            // ReSharper disable once SuspiciousTypeConversion.Global
            var status = beer as ITrackedDocumentNode;

            Assert.NotNull(status);
            Assert.IsFalse(status.IsDirty);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:18,代码来源:BucketContextTests.cs

示例12: Query_EnableProxyGenerationChangesInSubDocuments_FlagAsDirty

        public void Query_EnableProxyGenerationChangesInSubDocuments_FlagAsDirty()
        {
            var db = new BucketContext(ClusterHelper.GetBucket("beer-sample"));

            db.BeginChangeTracking();

            var query = from x in db.Query<Brewery>()
                        where x.Type == "brewery" && N1QlFunctions.IsValued(x.Geo)
                        select x;

            var beer = query.First();

            // ReSharper disable once SuspiciousTypeConversion.Global
            var status = beer as ITrackedDocumentNode;

            Assert.NotNull(status);
            Assert.False(status.IsDirty);

            beer.Geo.Latitude = 90M;

            Assert.True(status.IsDirty);
        }
开发者ID:RossMerr,项目名称:CouchbaseNetLinq,代码行数:22,代码来源:BucketContextTests.cs


注:本文中的BucketContext.BeginChangeTracking方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。