/// <summary> /// 删除数据 /// </summary> /// <param name="obj"></param> /// <returns>返回受影响的行数</returns> public static int delete(Object obj) { if (obj == null) { throw new ArgumentNullException(); } int num = ObjectDB.Delete((IEntity)obj); ObjectPool.Delete((IEntity)obj); return(num); }
static void Main(string[] args) { Guid guid; // create a database var pathToDataDir = "db-data"; var fileStorageEngine = FileStorageEngineFactory.Create(pathToDataDir, SIZE_1G, MAX_ENTRIES); using (var db = new ObjectDB <object>(fileStorageEngine, new BinaryFormatterSerializer())) { // create var data = new MyData(1, "hello world"); Console.WriteLine("inserting object: " + data); guid = db.Insert(data); Console.WriteLine("GUID of inserted object={0}", guid); // read data = db.Read <MyData>(guid); Console.WriteLine("read object: {0}", data); // update data.Text = "very interesting text"; Console.WriteLine("updating object: {0}", data); db.Update(guid, data); } // re-open existing databse using (var db = new ObjectDB <object>(FileStorageEngineFactory.Open(pathToDataDir), new BinaryFormatterSerializer())) { // read after re-opening the db var data = db.Read <MyData>(guid); Console.WriteLine("object after re-opening the DB: {0}", data); // delete Console.WriteLine("deleting object"); db.Delete(guid); // RecordNotFoundException after deletion try { db.Read <MyData>(guid); } catch (RecordNotFoundException) { Console.WriteLine("object was deleted"); } } }
private void Delete(BenchmarkIteration iter, ObjectDB <IFlatbufferObject> db, IFlatbufferObject data) { List <Guid> ids = new List <Guid>(); for (var i = 0; i < Benchmark.InnerIterationCount; i++) { ids.Add(db.Insert(data)); } using (iter.StartMeasurement()) { foreach (var id in ids) { db.Delete(id); } } }