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