本文整理汇总了C#中Raven.Database.DocumentDatabase.GetIndexDefinition方法的典型用法代码示例。如果您正苦于以下问题:C# DocumentDatabase.GetIndexDefinition方法的具体用法?C# DocumentDatabase.GetIndexDefinition怎么用?C# DocumentDatabase.GetIndexDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Database.DocumentDatabase
的用法示例。
在下文中一共展示了DocumentDatabase.GetIndexDefinition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute(DocumentDatabase database)
{
Database = database;
var indexDefinition = database.GetIndexDefinition(RavenDocumentsByExpirationDate);
if (indexDefinition == null)
{
database.PutIndex(RavenDocumentsByExpirationDate,
new IndexDefinition
{
Map =
@"
from doc in docs
let expiry = doc[""@metadata""][""Raven-Expiration-Date""]
where expiry != null
select new { Expiry = expiry }
"
});
}
var deleteFrequencyInSeconds = database.Configuration.GetConfigurationValue<int>("Raven/Expiration/DeleteFrequencySeconds") ?? 300;
logger.Info("Initialized expired document cleaner, will check for expired documents every {0} seconds",
deleteFrequencyInSeconds);
timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(deleteFrequencyInSeconds), TimeSpan.FromSeconds(deleteFrequencyInSeconds));
}
示例2: CreateIndex
public static void CreateIndex(DocumentDatabase database)
{
var index = new IndexDefinition {
Map = string.Format(
@"from doc in docs
where doc[""{0}""][""{1}""] == ""{2}""
&& doc[""{0}""][""{3}""] == true
select new
{{
{4} = doc[""{0}""][""{5}""],
}}",
Constants.Metadata,
TemporalMetadata.RavenDocumentTemporalStatus, TemporalStatus.Revision,
TemporalMetadata.RavenDocumentTemporalPending,
Activation, TemporalMetadata.RavenDocumentTemporalEffectiveStart)
};
if (database.GetIndexDefinition(TemporalConstants.PendingRevisionsIndex) == null)
database.PutIndex(TemporalConstants.PendingRevisionsIndex, index);
}