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


C# BsonDocument.Clone方法代码示例

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


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

示例1: CreateClientDocument

        internal static BsonDocument CreateClientDocument(string applicationName, BsonDocument driverDocument, BsonDocument osDocument, string platformString)
        {
            var clientDocument = new BsonDocument
            {
                { "application", () => new BsonDocument("name", applicationName), applicationName != null },
                { "driver", driverDocument },
                { "os", osDocument.Clone() }, // clone because we might be removing optional fields from this particular clientDocument
                { "platform", platformString }
            };

            return RemoveOptionalFieldsUntilDocumentIsLessThan512Bytes(clientDocument);
        }
开发者ID:mfidemraizer,项目名称:mongo-csharp-driver,代码行数:12,代码来源:ClientDocumentHelper.cs

示例2: TestClone

 public void TestClone()
 {
     var document = new BsonDocument("d", new BsonDocument("x", 1));
     var clone = (BsonDocument)document.Clone();
     Assert.AreEqual(clone, document);
     Assert.AreSame(clone["d"], document["d"]);
 }
开发者ID:jijamw,项目名称:mongo-csharp-driver,代码行数:7,代码来源:BsonDocumentTests.cs

示例3: TestCompareToBsonValue

        public void TestCompareToBsonValue()
        {
            var bsonDocument = new BsonDocument { { "a", 1 }, { "b", 2 } };
            var bson = bsonDocument.ToBson();

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                Assert.AreEqual(0, lazyBsonDocument.CompareTo((BsonValue)bsonDocument));
            }

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                var clone = (BsonDocument)bsonDocument.Clone();
                clone["a"] = 0;
                Assert.AreEqual(1, lazyBsonDocument.CompareTo((BsonValue)clone));
            }

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                var clone = (BsonDocument)bsonDocument.Clone();
                clone["a"] = 2;
                Assert.AreEqual(-1, lazyBsonDocument.CompareTo((BsonValue)clone));
            }

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                var clone = (BsonDocument)bsonDocument.Clone();
                clone.SetElement(0, new BsonElement("c", 1)); // "a" < "c" when comparing names
                Assert.AreEqual(-1, lazyBsonDocument.CompareTo((BsonValue)clone));
            }

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                var clone = (BsonDocument)bsonDocument.Clone();
                clone.Remove("b");
                Assert.AreEqual(1, lazyBsonDocument.CompareTo((BsonValue)clone));
            }

            using (var lazyBsonDocument = BsonSerializer.Deserialize<LazyBsonDocument>(bson))
            {
                var clone = (BsonDocument)bsonDocument.Clone();
                clone["c"] = 3;
                Assert.AreEqual(-1, lazyBsonDocument.CompareTo((BsonValue)clone));
            }
        }
开发者ID:einaregilsson,项目名称:mongo-csharp-driver,代码行数:45,代码来源:LazyBsonDocumentTests.cs


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