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


C# DocumentDatabase.Get方法代码示例

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


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

示例1: Execute

		public static void Execute(this ICommandData self, DocumentDatabase database)
		{
			var deleteCommandData = self as DeleteCommandData;
			if (deleteCommandData != null)
			{
				database.Delete(deleteCommandData.Key, deleteCommandData.Etag, deleteCommandData.TransactionInformation);
				return;
			}

			var putCommandData = self as PutCommandData;
			if (putCommandData != null)
			{
				var putResult = database.Put(putCommandData.Key, putCommandData.Etag, putCommandData.Document, putCommandData.Metadata, putCommandData.TransactionInformation);
				putCommandData.Etag = putResult.ETag;
				putCommandData.Key = putResult.Key;

				return;
			}

			var patchCommandData = self as PatchCommandData;
			if (patchCommandData != null)
			{
				database.ApplyPatch(patchCommandData.Key, patchCommandData.Etag, patchCommandData.Patches, patchCommandData.TransactionInformation);

				var doc = database.Get(patchCommandData.Key, patchCommandData.TransactionInformation);
				if (doc != null)
				{
					patchCommandData.Metadata = doc.Metadata;
					patchCommandData.Etag = doc.Etag;
				}
				return;
			}

			var advPatchCommandData = self as ScriptedPatchCommandData;
			if (advPatchCommandData != null)
			{
				var result = database.ApplyPatch(advPatchCommandData.Key, advPatchCommandData.Etag,
									advPatchCommandData.Patch, advPatchCommandData.TransactionInformation, advPatchCommandData.DebugMode);

				if(advPatchCommandData.DebugMode)
				{
					advPatchCommandData.AdditionalData = result.Item1.Document;
					return;
				}

				var doc = database.Get(advPatchCommandData.Key, advPatchCommandData.TransactionInformation);
				if (doc != null)
				{
					advPatchCommandData.Metadata = doc.Metadata;
					advPatchCommandData.Etag = doc.Etag;
				}
				return;
			}
		}
开发者ID:nberardi,项目名称:ravendb,代码行数:54,代码来源:CommandExtensions.cs

示例2: ScriptedJsonPatcher

		public ScriptedJsonPatcher(DocumentDatabase database = null)
		{
			if (database == null)
			{
				maxSteps = 10 * 1000;
				additionalStepsPerSize = 5;
				loadDocument = (s =>
				{
					throw new InvalidOperationException(
						"Cannot load by id without database context");
				});
			}
			else
			{
				maxSteps = database.Configuration.MaxStepsForScript;
				additionalStepsPerSize = database.Configuration.AdditionalStepsForScriptBasedOnDocumentSize;
				loadDocument = id =>
				{
					JsonDocument jsonDocument;
					if (!createdDocDict.TryGetValue(id, out jsonDocument))
						jsonDocument = database.Get(id, null);

					return jsonDocument == null ? null : jsonDocument.ToJson();
				};
			}
		}
开发者ID:Nakro,项目名称:ravendb,代码行数:26,代码来源:ScriptedJsonPatcher.cs

示例3: Execute

		public void Execute(DocumentDatabase database)
		{
			database.ApplyPatch(Key, Etag, Patches, TransactionInformation);

			var doc = database.Get(Key, TransactionInformation);
			if (doc != null)
				Metadata = doc.Metadata;
		}
开发者ID:Rationalle,项目名称:ravendb,代码行数:8,代码来源:PatchCommandData.cs

示例4: Execute

		public void Execute(DocumentDatabase database)
		{
			var oldBackup = database.Get(BackupStatus.RavenBackupStatusDocumentKey,null);
			if (oldBackup == null)
				return;

			var backupStatus = oldBackup.DataAsJson.JsonDeserialization<BackupStatus>();

			if (backupStatus.Completed != null) // keep the record of the last successful backup
				return;

			database.Delete(BackupStatus.RavenBackupStatusDocumentKey, null, null);
		}
开发者ID:neiz,项目名称:ravendb,代码行数:13,代码来源:RemoveBackupDocumentStartupTask.cs

示例5: RemoveWarnings

		public static void RemoveWarnings(DocumentDatabase db, string prefix)
		{
			var document = db.Get("Raven/WarningMessages", null);
			WarningMessagesHolder messagesHolder = document == null
													? new WarningMessagesHolder()
													: document.DataAsJson.JsonDeserialization<WarningMessagesHolder>();

			// remove anything else with this prefix
			var removed = messagesHolder.Messages.RemoveWhere(x => x.StartsWith(prefix) );
			if (removed == 0)
				return;

			db.Put("Raven/WarningMessages", null,
				   RavenJObject.FromObject(messagesHolder),
				   new RavenJObject(), null);
		}
开发者ID:nzdunic,项目名称:ravendb,代码行数:16,代码来源:WarningMessagesHolder.cs

示例6: ScriptedJsonPatcher

		public ScriptedJsonPatcher(DocumentDatabase database = null)
		{
			if (database == null)
			{
				loadDocument = (s =>
				{
					throw new InvalidOperationException(
						"Cannot load by id without database context");
				});
			}
			else
			{
				loadDocument = id =>
				{
					var jsonDocument = database.Get(id, null);
					return jsonDocument == null ? null : jsonDocument.ToJson();
				};
			}
		}
开发者ID:jjchiw,项目名称:ravendb,代码行数:19,代码来源:ScriptedJsonPatcher.cs

示例7: Execute

		public void Execute(DocumentDatabase database)
		{
			Database = database;

			// Not having a setup doc means this DB isn't enabled for periodic backups
			var document = Database.Get(PeriodicBackupSetup.RavenDocumentKey, null);
			if (document == null)
				return;

			var backupConfigs = document.DataAsJson.JsonDeserialization<PeriodicBackupSetup>();
			if (backupConfigs.Interval <= 0)
				return;

			awsAccessKey = Database.Configuration.Settings["Raven/AWSAccessKey"];
			awsSecretKey = Database.Configuration.Settings["Raven/AWSSecretKey"];

			interval = backupConfigs.Interval;
			logger.Info("Periodic backups started, will backup every" + interval + "minutes");
			timer = new Timer(TimerCallback, null, TimeSpan.FromMinutes(interval), TimeSpan.FromMinutes(interval));
		}
开发者ID:denno-secqtinstien,项目名称:ravendb,代码行数:20,代码来源:PeriodicBackupTask.cs

示例8: AddWarning

		public static void AddWarning(DocumentDatabase db, string prefix, string msg)
		{
			var document = db.Get("Raven/WarningMessages", null);
			WarningMessagesHolder messagesHolder = document == null
			                                       	? new WarningMessagesHolder()
			                                       	: document.DataAsJson.JsonDeserialization<WarningMessagesHolder>();

			var message = prefix + ": " + msg;

			if (messagesHolder.Messages.Add(message) == false)
			{
				return; //already there
			}

			// remove anything else with this prefix
			messagesHolder.Messages.RemoveWhere(x => x.StartsWith(prefix) && x != message);

			db.Put("Raven/WarningMessages", null,
			       RavenJObject.FromObject(messagesHolder),
			       new RavenJObject(), null);
		}
开发者ID:nzdunic,项目名称:ravendb,代码行数:21,代码来源:WarningMessagesHolder.cs

示例9: ScriptedJsonPatcher

		public ScriptedJsonPatcher(DocumentDatabase database = null)
		{
			if (database == null)
			{
				maxSteps = 10 * 1000;
				additionalStepsPerSize = 5;
				loadDocument = (s =>
				{
					throw new InvalidOperationException(
						"Cannot load by id without database context");
				});
			}
			else
			{
				maxSteps = database.Configuration.MaxStepsForScript;
				additionalStepsPerSize = database.Configuration.AdditionalStepsForScriptBasedOnDocumentSize;
				loadDocument = id =>
				{
					var jsonDocument = database.Get(id, null);
					return jsonDocument == null ? null : jsonDocument.ToJson();
				};
			}
			propertiesTypeByName = new Dictionary<string, JTokenType>();
		}
开发者ID:urbanfly,项目名称:ravendb,代码行数:24,代码来源:ScriptedJsonPatcher.cs

示例10: Execute

		private static void Execute(ICommandData self, DocumentDatabase database, BatchResult batchResult)
		{
			var deleteCommandData = self as DeleteCommandData;
			if (deleteCommandData != null)
			{
				var result = database.Delete(deleteCommandData.Key, deleteCommandData.Etag, deleteCommandData.TransactionInformation);

				if (batchResult != null)
					batchResult.Deleted = result;

				return;
			}

			var putCommandData = self as PutCommandData;
			if (putCommandData != null)
			{
				var putResult = database.Put(putCommandData.Key, putCommandData.Etag, putCommandData.Document, putCommandData.Metadata, putCommandData.TransactionInformation);
				putCommandData.Etag = putResult.ETag;
				putCommandData.Key = putResult.Key;

				return;
			}

			var patchCommandData = self as PatchCommandData;
			if (patchCommandData != null)
			{
				var result = database.ApplyPatch(patchCommandData.Key, patchCommandData.Etag,
												 patchCommandData.Patches, patchCommandData.PatchesIfMissing, patchCommandData.Metadata,
												 patchCommandData.TransactionInformation);

				if (batchResult != null)
					batchResult.PatchResult = result.PatchResult;

				var doc = database.Get(patchCommandData.Key, patchCommandData.TransactionInformation);
				if (doc != null)
				{
					database.TransactionalStorage.ExecuteImmediatelyOrRegisterForSynchronization(() =>
					{
						patchCommandData.Metadata = doc.Metadata;
						patchCommandData.Etag = doc.Etag;
					});
				}
				return;
			}

			var advPatchCommandData = self as ScriptedPatchCommandData;
			if (advPatchCommandData != null)
			{
				var result = database.ApplyPatch(advPatchCommandData.Key, advPatchCommandData.Etag,
												 advPatchCommandData.Patch, advPatchCommandData.PatchIfMissing, advPatchCommandData.Metadata,
												 advPatchCommandData.TransactionInformation, advPatchCommandData.DebugMode);

				if (batchResult != null)
					batchResult.PatchResult = result.Item1.PatchResult;

				advPatchCommandData.AdditionalData = new RavenJObject { { "Debug", new RavenJArray(result.Item2) } };
				if(advPatchCommandData.DebugMode)
				{
					advPatchCommandData.AdditionalData["Document"] = result.Item1.Document;
					return;
				}

				var doc = database.Get(advPatchCommandData.Key, advPatchCommandData.TransactionInformation);
				if (doc != null)
				{
					database.TransactionalStorage.ExecuteImmediatelyOrRegisterForSynchronization(() =>
					{
						advPatchCommandData.Metadata = doc.Metadata;
						advPatchCommandData.Etag = doc.Etag;
					});
				}
				return;
			}
		}
开发者ID:925coder,项目名称:ravendb,代码行数:74,代码来源:CommandExtensions.cs


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