检查Raven Db是否存在?

时间:2015-10-01 06:42:11

标签: c# ravendb

如何以编程方式检查我的Raven Db(http://ravendb.net/)是否已调用"测试"存在?

祝你好运

1 个答案:

答案 0 :(得分:5)

  1. EnsureDatabaseExistsIDatabaseCommands命名空间中定义的Raven.Client.Extensions上的扩展方法。
  2. 要使其工作,您需要为此命名空间添加using语句。

     using Raven.Client;
     using Raven.Client.Extensions;
    
     using (DocumentStore store = new DocumentStore()
     {
         Url = "http://localhost:8080/" ;
     })
     {
         store.Initialize();
        store.DatabaseCommands.EnsureDatabaseExists("SomeDatabase");
    }
    
    1. 这是我用于此的扩展方法:

      public static bool DatabaseExists(this IDocumentStore documentStore, 
      string databaseName) 
      { 
        var headers = documentStore.DatabaseCommands.Head("Raven/Databases/" + databaseName); 
        return headers != null; 
      } 
      
    2. 轻松打电话:

      bool exists = documentStore.DatabaseExists("foo"); 
      

      当你的documentStore指向乌鸦的默认值时,这是有效的 系统数据库。如果在文档存储上设置DefaultDatabase, 我不相信它会正常工作。