【问题标题】:Multitenant indexes in RavenDB in asp.net MVCasp.net MVC 中 RavenDB 中的多租户索引
【发布时间】:2012-01-06 08:21:04
【问题描述】:

在多租户 RavenDB 应用程序中(每个租户一个数据库,一个包含一般租户数据的“概览”数据库),索引创建策略是什么? (asp.net mvc)

在简单(非多租户)应用程序中,您可以在 global.asax 中创建索引。

  • 理论上,您可以在 global.asax 中查询每个租户,并为每个租户创建索引。但我想当租户数量增加时,这将是一个巨大的业绩打击......
  • 无法在租户创建时创建索引,因为现有租户应该能够在更新时获得新索引。

那么,关于如何以及何时创建这些索引的最佳做法是什么?

【问题讨论】:

    标签: asp.net-mvc ravendb


    【解决方案1】:

    你可以在应用启动时使用这个方法,不用担心性能问题。

    public static void CreateIndexesForDatabases(Assembly assemblyToScanForIndexingTasks, IDocumentStore documentStore, string[] databases)
    {
        var catalog = new CompositionContainer(new AssemblyCatalog(assemblyToScanForIndexingTasks));
        foreach (var database in databases)
        {
            IndexCreation.CreateIndexes(catalog, documentStore.DatabaseCommands.ForDatabase(database), documentStore.Conventions);
        }
    }
    

    只是不要忘记包含 Raven.Client.Extensions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多