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


C# SessionNoServer.OpenAllDatabases方法代码示例

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


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

示例1: Get

 /// <summary>
 /// Get a list of all <see cref="Database"/> used.
 /// </summary>
 /// <param name="path">Path to database directory on server relative to server setting <see cref="SessionBase.BaseDatabasePath"/></param>
 /// <returns>All databases in use</returns>
 public IEnumerable<string> Get(string path)
 {
   using (SessionNoServer session = new SessionNoServer(path))
   {
     session.BeginRead();
     List<Database> dbList = session.OpenAllDatabases();
     foreach (Database db in dbList)
       yield return db.ToString();
     session.Commit();
   }
 }
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:16,代码来源:DatabaseController.cs

示例2: aSyncNewDatabases

    public void aSyncNewDatabases()
    {
      using (SessionBase session = new SessionNoServer(s_sync1))
      {
        session.EnableSyncByTrackingChanges = true;
        using (var trans = session.BeginUpdate())
        {
          for (uint i = 10; i < 50; i++)
          {
            var database = session.NewDatabase(i);
            Assert.NotNull(database);
          }
          session.Commit();
        }
      }

      using (SessionBase readFromSession = new SessionNoServer(s_sync1))
      {
        using (SessionBase updateSession = new SessionNoServer(s_sync2))
        {
            updateSession.SyncWith(readFromSession);
        }
      }

      using (SessionBase readFromSession = new SessionNoServer(s_sync1))
      {
        readFromSession.BeginRead();
        using (SessionBase updateSession = new SessionNoServer(s_sync2))
        {
          using (var trans = updateSession.BeginRead())
          {
            Assert.AreEqual(updateSession.OpenAllDatabases().Count, readFromSession.OpenAllDatabases().Count - 1); // - 1 due to additional change tracking databases in original 
          }
        }
      }
    }
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:36,代码来源:SyncTest.cs

示例3: bSyncDeletedDatabases

    public void bSyncDeletedDatabases()
    {
      using (SessionBase session = new SessionNoServer(s_sync1))
      {
        using (var trans = session.BeginUpdate())
        {
          for (uint i = 10; i < 14; i++)
          {
            var database = session.OpenDatabase(i);
            session.DeleteDatabase(database);
          }
          session.Commit();
        }
      }

      using (SessionBase readFromSession = new SessionNoServer(s_sync1))
      {
        using (SessionBase updateSession = new SessionNoServer(s_sync2))
        {
          updateSession.SyncWith(readFromSession);
        }
      }

      using (SessionBase readFromSession = new SessionNoServer(s_sync1))
      {
        readFromSession.BeginRead();
        using (SessionBase updateSession = new SessionNoServer(s_sync2))
        {
          using (var trans = updateSession.BeginRead())
          {
            Assert.AreEqual(updateSession.OpenAllDatabases().Count, readFromSession.OpenAllDatabases().Count - 1); // - 1 due to additional change tracking databases in original 
          }
        }
      }
    }
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:35,代码来源:SyncTest.cs

示例4: Main

    static readonly string s_systemDir = "Indexes"; // appended to SessionBase.BaseDatabasePath

    static void Main(string[] args)
    {
      try
      {
        Trace.Listeners.Add(new ConsoleTraceListener());
        string brandName = "Toyota";
        string color = "Blue";
        int maxPassengers = 5;
        int fuelCapacity = 40;
        double litresPer100Kilometers = 5;
        DateTime modelYear = new DateTime(2003, 1, 1);
        string modelName = "Highlander";
        int maxSpeed = 200;
        int odometer = 100000;
        string registrationState = "Texas";
        string registrationPlate = "TX343434";
        string insurancePolicy = "CAA7878787";
        DriversLicense license = new DriversLicense("California", "B7788888", DateTime.Now + new TimeSpan(1825, 0, 0, 0));
        Person person = new Person("Mats Persson", license);
        InsuranceCompany insuranceCompany = new InsuranceCompany("Allstate", "858727878");
        Car car = new Car(color, maxPassengers, fuelCapacity, litresPer100Kilometers, modelYear, brandName, modelName, maxSpeed,
          odometer, registrationState, registrationPlate, insuranceCompany, insurancePolicy);
        using (SessionNoServer session = new SessionNoServer(s_systemDir))
        { // cleanup data from a possible prior run
          session.BeginUpdate();
          foreach (Database db in session.OpenAllDatabases(true))
            if (db.DatabaseNumber >= 10 || db.DatabaseNumber == SessionBase.IndexDescriptorDatabaseNumber)
              session.DeleteDatabase(db);
          session.Commit();
          File.Copy(s_licenseDbFile, Path.Combine(session.SystemDirectory, "4.odb"));
        }
        using (SessionNoServer session = new SessionNoServer(s_systemDir))
        {
          Console.WriteLine("Running with databases in directory: " + session.SystemDirectory);
          //session.AddToIndexInSeperateThread = false;
          session.BeginUpdate();
          session.Persist(car);
          registrationState = "Maine";
          car = new Car(color, maxPassengers, fuelCapacity, litresPer100Kilometers, modelYear, brandName, modelName, maxSpeed,
          odometer, registrationState, registrationPlate, insuranceCompany, insurancePolicy);
          session.Persist(car);
          color = "Red";
          maxPassengers = 5;
          fuelCapacity = 50;
          litresPer100Kilometers = 8;
          modelYear = new DateTime(2006, 1, 1);
          brandName = "Toyota";
          modelName = "Tacoma";
          maxSpeed = 210;
          odometer = 50000;
          registrationState = "Texas";
          registrationPlate = "TX343433";
          insurancePolicy = "CAA7878777";
          car = new Car(color, maxPassengers, fuelCapacity, litresPer100Kilometers, modelYear, brandName, modelName, maxSpeed,
            odometer, registrationState, registrationPlate, insuranceCompany, insurancePolicy);
          session.Persist(car);
          color = "Black";
          maxPassengers = 5;
          fuelCapacity = 60;
          litresPer100Kilometers = 3;
          modelYear = new DateTime(2001, 1, 1);
          brandName = "Lincoln";
          modelName = "Town Car";
          maxSpeed = 220;
          odometer = 250000;
          registrationState = "Texas";
          registrationPlate = "TX543433";
          insurancePolicy = "CAA7878775";
          car = new Car(color, maxPassengers, fuelCapacity, litresPer100Kilometers, modelYear, brandName, modelName, maxSpeed,
            odometer, registrationState, registrationPlate, insuranceCompany, insurancePolicy);
          session.Persist(car);
          session.Commit();
        }
        using (SessionNoServer session = new SessionNoServer(s_systemDir))
        {
          session.BeginRead();
          Console.WriteLine("Blue Cars");
          BTreeSet<Car> bTree = session.Index<Car>("color");
          foreach (Car c in (from aCar in bTree where aCar.Color == "Blue" select aCar))
            Console.WriteLine(c.ToStringDetails(session));
          Console.WriteLine("Cars in fuel efficiency order");
          foreach (Car c in session.Index<Car>("litresPer100Kilometers"))
            Console.WriteLine(c.ToStringDetails(session));
          Console.WriteLine("Vehicles ordered modelYear, brandName, modelName, color");
          foreach (Vehicle v in session.Index<Vehicle>())
            Console.WriteLine(v.ToStringDetails(session));
          session.Commit();
        }
        using (SessionNoServer session = new SessionNoServer(s_systemDir))
        {
          session.TraceIndexUsage = true;
          session.BeginUpdate();
          // these LINQ statements will trigger a binary search lookup (not a linear search) of the matching Car objects in the BTreeSet
          Car c = (from aCar in session.Index<Car>("color") where aCar.Color == "Blue" select aCar).First();
          c.Color = "Green";
          session.Commit();
        }
        using (SessionNoServer session = new SessionNoServer(s_systemDir))
//.........这里部分代码省略.........
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:101,代码来源:Indexes.cs

示例5: Main

 static int Main(string[] args)
 {
   if (args.Length == 0)
   {
     System.Console.WriteLine("ERROR, no boot path specified. Restart Verify and add bootup database path as a command line parameter");
     return 1;
   }
   int ct = 0;
   try
   {
     using (SessionNoServer session = new SessionNoServer(args[0]))
     {
       DataCache.MaximumMemoryUse = 5000000000; // 5 GB, set this to what fits your case
       session.BeginRead();
       List<Database> dbList = session.OpenAllDatabases();
       foreach (Database db in dbList)
         foreach (Page page in db)
           foreach (IOptimizedPersistable iPers in page)
           {
             object obj = iPers.WrappedObject;
             ++ct;
             if (iPers.WrappedObject is IOptimizedPersistable)
             {
               UInt64 id = iPers.Id;
               OptimizedPersistable pObj = iPers as OptimizedPersistable;
               if (pObj != null)
               {
                 pObj.LoadFields();
                 foreach (OptimizedPersistable fObj in pObj.OptimizedPersistableFieldValues())
                 {
                   fObj.LoadFields();
                 }
                 foreach (object value in pObj.GetFieldValues())
                 {
                   WeakIOptimizedPersistableReferenceBase weakRef = value as WeakIOptimizedPersistableReferenceBase;
                   if (weakRef != null)
                     if (session.Open(weakRef.Id) == null)
                       throw new UnexpectedException("WeakRefence object is null");
                 }
               }
             }
             else if (obj is string)
               continue;
             else if (obj is Array)
               continue;
             IEnumerable anEnum = obj as IEnumerable;
             if (anEnum != null)
               foreach (object o in anEnum)
               {
               }
           }
       session.Commit();
     }
     Console.WriteLine("OK, verfied " + ct + " objects");
     return 0;
   }
   catch (Exception ex)
   {
     Console.WriteLine("FAILED, verfied " + ct + " objects");
     Console.WriteLine(ex.ToString());
     return -1;
   }
 }
开发者ID:MerlinBrasil,项目名称:VelocityDB,代码行数:63,代码来源:Verify.cs

示例6: createInvertedIndex

 static void createInvertedIndex()
 {
   using (SessionNoServer session = new SessionNoServer(s_systemDir))
   {
     session.BeginUpdate();
     session.EnableAutoPageFlush = false; // so that threads don't stomb on each other
     Console.WriteLine(DateTime.Now.ToString() + ", start creating inverted index");
     ParallelOptions pOptions = new ParallelOptions();
     pOptions.MaxDegreeOfParallelism = 2; // set to what is appropriate for your computer (cores & memory size)
     //pOptions.MaxDegreeOfParallelism = 1; // appears to work best with only 16GB of memory
     IndexRoot indexRoot = (IndexRoot)session.Open(Oid.Encode(IndexRoot.PlaceInDatabase, 1, 1));
     BTreeSet<Document> documentSet = indexRoot.repository.documentSet;
     List<Database> dbs = session.OpenAllDatabases(true);
     Parallel.ForEach<Database>(dbs, pOptions,
       (Database db, ParallelLoopState loop) => // method invoked by the loop on each iteration
       {
         if (db.DatabaseNumber >= Document.PlaceInDatabase)
           createDocumentInvertedIndex(session, db, documentSet);
       });
     session.Commit();
     Console.WriteLine(DateTime.Now.ToString() + ", done creating inverted index");
   }
 }
开发者ID:VelocityDB,项目名称:VelocityDB,代码行数:23,代码来源:Wikipedia.cs


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