本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
}
示例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);
}
示例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);
}
示例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);
}