本文整理汇总了C#中SessionNoServer.DeleteDatabase方法的典型用法代码示例。如果您正苦于以下问题:C# SessionNoServer.DeleteDatabase方法的具体用法?C# SessionNoServer.DeleteDatabase怎么用?C# SessionNoServer.DeleteDatabase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SessionNoServer
的用法示例。
在下文中一共展示了SessionNoServer.DeleteDatabase方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateLocationSameHost
public void CreateLocationSameHost()
{
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
DatabaseLocation remoteLocation = new DatabaseLocation(Dns.GetHostName(), location2Dir, locationStartDbNum, locationEndDbNum, session, PageInfo.compressionKind.LZ4, 0);
remoteLocation = session.NewLocation(remoteLocation);
Database database = session.NewDatabase(remoteLocation.StartDatabaseNumber);
Assert.NotNull(database);
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
Database database = session.OpenDatabase(locationStartDbNum, false);
Assert.NotNull(database);
session.DeleteDatabase(database);
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
foreach (DatabaseLocation loc in session.DatabaseLocations)
Console.WriteLine(loc.ToStringDetails(session, false));
session.DeleteLocation(session.DatabaseLocations.LocationForDb(locationStartDbNum));
foreach (DatabaseLocation loc in session.DatabaseLocations)
Console.WriteLine(loc.ToStringDetails(session, false));
session.Commit();
}
}
示例2: TwoUpdaters1
public void TwoUpdaters1()
{
Assert.Throws<OptimisticLockingFailed>(() =>
{
UInt64 id;
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
Man man = new Man();
man.Persist(session, man);
id = man.Id;
session.Commit();
session.BeginUpdate();
man.Age = ++man.Age;
Database db = session.NewDatabase(3567);
using (SessionNoServer session2 = new SessionNoServer(systemDir))
{
session2.BeginUpdate();
Man man2 = (Man)session2.Open(id);
Assert.Less(man2.Age, man.Age);
man2.Age = ++man.Age;
session2.Commit();
}
session.DeleteDatabase(db);
session.Commit(); // OptimisticLockingFailed here
}
});
}
示例3: cDeleteDatabases
public void cDeleteDatabases()
{
Database database;
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
for (uint i = 50000000; i < 50001000; i++)
{
database = session.OpenDatabase(i);
session.DeleteDatabase(database);
}
session.Commit();
}
}
示例4: CreateDataAndIterateSession
public void CreateDataAndIterateSession(int numObj)
{
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
UInt32 dbNum = session.DatabaseNumberOf(typeof(NotSharingPage));
Database db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeA));
db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginUpdate();
UInt32 dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
Placement place = new Placement(dbNum, 100);
for (int i = 0; i < numObj; i++)
{
NotSharingPage ns = new NotSharingPage();
session.Persist(ns);
SharingPageTypeA sA = new SharingPageTypeA();
session.Persist(sA);
SharingPageTypeB sB = new SharingPageTypeB();
if (i % 5 == 0)
sB.Persist(session, place);
else if (i % 1001 == 0)
sB.Persist(session, sA);
else if (i % 3001 == 0)
sB.Persist(session, ns);
else
session.Persist(sB);
}
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginRead();
UInt32 dbNum = session.DatabaseNumberOf(typeof(NotSharingPage));
Database db = session.OpenDatabase(dbNum);
AllObjects<NotSharingPage> all = session.AllObjects<NotSharingPage>(true, false);
OfType all2 = session.OfType(typeof(NotSharingPage), true, false);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeA));
Database dbA = session.OpenDatabase(dbNum);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
Database dbB = session.OpenDatabase(dbNum);
AllObjects<SharingPageTypeA> allA = session.AllObjects<SharingPageTypeA>(true, false);
AllObjects<SharingPageTypeB> allB = session.AllObjects<SharingPageTypeB>(true, false);
int start = numObj / 2;
NotSharingPage ns = all.ElementAt(numObj - 1); // zero based index so deduct one
NotSharingPage ns2 = (NotSharingPage)all2.ElementAt(numObj - 1);
Assert.AreEqual(ns, ns2);
SharingPageTypeA sA = allA.ElementAt(15);
SharingPageTypeB sB = allB.ElementAt(10);
for (int i = start; i < numObj; i++)
ns = all.ElementAt(i);
//for (int i = start; i < numObj; i++)
// ns = all.Skip(i).T
//for (int i = start; i < numObj; i++)
// sA = allA.ElementAt(i);
all.Skip(100);
all2.Skip(100);
for (int i = start; i < numObj; i += 5)
{
ns = all.ElementAt(i);
ns2 = (NotSharingPage)all2.ElementAt(i);
Assert.AreEqual(ns, ns2);
}
for (int i = 5; i < 100; i += 5)
sB = allB.ElementAt(i);
for (int i = 0; i < numObj; i += 45000)
ns = all.ElementAt(i);
session.Commit();
session.BeginUpdate();
session.DeleteDatabase(db);
session.DeleteDatabase(dbA);
session.DeleteDatabase(dbB);
session.Commit();
}
}
示例5: CreateDataAndIterateDb
public void CreateDataAndIterateDb(int numObj)
{
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.Verify();
session.BeginUpdate();
UInt32 dbNum = session.DatabaseNumberOf(typeof(NotSharingPage));
Database db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeA));
db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
db = session.OpenDatabase(dbNum, true, false);
if (db != null)
session.DeleteDatabase(db);
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.Verify();
session.BeginUpdate();
UInt32 dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
Placement place = new Placement(dbNum, 100);
for (int i = 0; i < numObj; i++)
{
NotSharingPage ns = new NotSharingPage();
session.Persist(ns);
SharingPageTypeA sA = new SharingPageTypeA();
session.Persist(sA);
SharingPageTypeB sB = new SharingPageTypeB();
if (i % 5 == 0)
sB.Persist(session, place);
else if (i % 1001 == 0)
sB.Persist(session, sA);
else if (i % 3001 == 0)
sB.Persist(session, ns);
else
session.Persist(sB);
}
session.Commit();
}
using (SessionNoServer session = new SessionNoServer(systemDir))
{
session.BeginRead();
session.Verify();
UInt32 dbNum = session.DatabaseNumberOf(typeof(NotSharingPage));
Database db = session.OpenDatabase(dbNum);
AllObjects<NotSharingPage> all = db.AllObjects<NotSharingPage>();
ulong ct = all.Count();
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeA));
OfType ofType = db.OfType(typeof(NotSharingPage));
ulong ct2 = ofType.Count();
Assert.AreEqual(ct, ct2);
Database dbA = session.OpenDatabase(dbNum);
dbNum = session.DatabaseNumberOf(typeof(SharingPageTypeB));
Database dbB = session.OpenDatabase(dbNum);
AllObjects<SharingPageTypeA> allA = dbA.AllObjects<SharingPageTypeA>();
AllObjects<SharingPageTypeB> allB = dbB.AllObjects<SharingPageTypeB>();
OfType allA2 = dbA.OfType(typeof(SharingPageTypeA));
int start = numObj / 2;
NotSharingPage ns = all.ElementAt(numObj);
SharingPageTypeA sA = allA.ElementAt(numObj);
SharingPageTypeA sA2 = (SharingPageTypeA)allA2.ElementAt(numObj);
Assert.AreEqual(sA, sA2);
sA = allA.ElementAt(10);
sA2 = (SharingPageTypeA)allA2.ElementAt(10);
Assert.AreEqual(sA, sA2);
//MethodInfo method = typeof(Database).GetMethod("AllObjects");
//MethodInfo generic = method.MakeGenericMethod(sA.GetType());
//dynamic itr = generic.Invoke(dbA, new object[]{ true });
//SharingPageTypeA sAb = itr.ElementAt(numObj);
//Assert.AreEqual(sA, sAb);
//SharingPageTypeA sAc = itr.ElementAt(numObj);
SharingPageTypeB sB = allB.ElementAt(numObj);
List<NotSharingPage> notSharingPageList = all.Skip(100).ToList();
List<SharingPageTypeA> sharingPageTypeA = allA.Take(5).Skip(100).ToList();
for (int i = start; i < numObj; i++)
sA = allA.ElementAt(i);
for (int i = start; i < numObj; i += 5)
ns = all.ElementAt(i);
for (int i = start; i < numObj; i += 5)
sB = allB.ElementAt(i);
for (int i = 0; i < numObj; i += 45000)
ns = all.ElementAt(i);
int allB_count = (int) allB.Count();
for (int i = 0; i < allB_count - 1; i++)
{
Assert.NotNull(allB.ElementAt(i));
}
session.Commit();
session.BeginUpdate();
session.DeleteDatabase(db);
session.DeleteDatabase(dbA);
session.DeleteDatabase(dbB);
session.Commit();
//.........这里部分代码省略.........
示例6: 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
}
}
}
}
示例7: SingleReaderSingleUpdater4
[TestCase(false)] // test will fail if pessimistic locking is used
public void SingleReaderSingleUpdater4(bool useReaderCommit)
{
using (SessionNoServer updater = new SessionNoServer(systemDir, 5000))
using (SessionNoServer reader = new SessionNoServer(systemDir, 5000))
{
updater.SetTraceAllDbActivity();
reader.SetTraceAllDbActivity();
updater.BeginUpdate();
UInt32 dbNum = updater.DatabaseNumberOf(typeof(Man));
Database db = updater.OpenDatabase(dbNum, true, false);
if (db != null)
updater.DeleteDatabase(db);
updater.Commit();
updater.BeginUpdate();
Man man = new Man();
for (int i = 0; i < 100; i++)
{
man = new Man();
updater.Persist(man);
}
updater.Commit();
reader.BeginRead();
updater.BeginUpdate();
db = reader.OpenDatabase(dbNum);
foreach (Page page in db)
Assert.True(page.PageInfo.VersionNumber == 1);
if (useReaderCommit)
reader.Commit();
if (useReaderCommit)
reader.BeginRead();
else
reader.ForceDatabaseCacheValidation();
for (int i = 1; i < 25; i++)
{
db = reader.OpenDatabase(dbNum);
foreach (Page page in db)
{
if (page.PageNumber > 1) // skip AutoPlacemnt page
{
Assert.True(page.PageInfo.VersionNumber == (ulong)i);
Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
}
}
if (useReaderCommit)
{
reader.Commit();
reader.BeginRead();
}
else
reader.ForceDatabaseCacheValidation();
updater.Commit();
updater.BeginUpdate();
}
Database db2 = reader.OpenDatabase(dbNum);
db = updater.OpenDatabase(dbNum);
for (int i = 25; i < 50; i++)
{
foreach (Page page in db)
{
if (page.PageNumber > 1)
{
Assert.True(page.PageInfo.VersionNumber == (ulong)i);
Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true);
}
}
updater.Commit();
updater.BeginUpdate();
db2 = reader.OpenDatabase(dbNum);
foreach (Page page in db2)
{
if (page.PageNumber > 1)
{
//Assert.True(page.PageInfo.VersionNumber == (ulong)i + 1);
Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false);
}
}
reader.ClearPageCache();
System.GC.Collect();
}
reader.Commit();
updater.Commit();
}
}
示例8: 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))
//.........这里部分代码省略.........