本文整理汇总了C#中SessionNoServer.Index方法的典型用法代码示例。如果您正苦于以下问题:C# SessionNoServer.Index方法的具体用法?C# SessionNoServer.Index怎么用?C# SessionNoServer.Index使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SessionNoServer
的用法示例。
在下文中一共展示了SessionNoServer.Index方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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))
//.........这里部分代码省略.........