db4o Tutorial 中文翻译(八)
2007-05-06 12:42
399 查看
6. 继承
到现在为止,我们已经可以操作实体类了。但是如何操作子类或者接口呢?为了方便讲解,我们将创造不同种类的sensors
using System;
namespace Db4objects.Db4o.Tutorial.F1.Chapter4
using System;
namespace Db4objects.Db4o.Tutorial.F1.Chapter4
using System;
namespace Db4objects.Db4o.Tutorial.F1.Chapter4
Car的snapshot也要跟着变化:
using System;
using System.Collections;
namespace Db4objects.Db4o.Tutorial.F1.Chapter4
6.1. 存储
代码只是加入了与sensor的交互而已,其他部分没有动:// storeFirstCar
Car car1 = new Car("Ferrari");
Pilot pilot1 = new Pilot("Michael Schumacher", 100);
car1.Pilot = pilot1;
db.Set(car1);
// storeSecondCar
Pilot pilot2 = new Pilot("Rubens Barrichello", 99);
Car car2 = new Car("BMW");
car2.Pilot = pilot2;
car2.Snapshot();
car2.Snapshot();
db.Set(car2);
6.2. 检索
db4o提供所有的给定类型的对象。在检索给定类型的对象时候,不管他们是否是子类或者其他,只要给出一个原型就可以。// retrieveTemperatureReadoutsQBE
SensorReadout proto = new TemperatureSensorReadout(DateTime.MinValue, null, null, 0.0);
IObjectSet result = db.Get(proto);
ListResult(result);
// retrieveAllSensorReadoutsQBE
SensorReadout proto = new SensorReadout(DateTime.MinValue, null, null);
IObjectSet result = db.Get(proto);
ListResult(result);
当在如下情况时QBE就不合适了:如果给定的类是一个接口或者抽象类。有一个小诀窍:只要获取对象的类型就可以了
// retrieveAllSensorReadoutsQBEAlternative
IObjectSet result = db.Get(typeof(SensorReadout));
ListResult(result);
当然,还有SODA API:
// retrieveAllSensorReadoutsQuery
IQuery query = db.Query();
query.Constrain(typeof(SensorReadout));
IObjectSet result = query.Execute();
ListResult(result);
6.3. 更新和删除
不管他们在继承树的哪里,他们都和正常的对象一样。.就像刚刚我们的检索过程, 我们可以删除所有的对象,好进行下一章的讲解。
// deleteAll
IObjectSet result = db.Get(typeof(Object));
foreach (object item in result)
锘縰sing System;
using System.IO;
using Db4objects.Db4o;
using Db4objects.Db4o.Query;
namespace Db4objects.Db4o.Tutorial.F1.Chapter4
相关文章推荐
- db4o Tutorial 中文翻译(九)
- db4o Tutorial 中文翻译(十)
- db4o Tutorial 中文翻译(十一)
- db4o Tutorial 中文翻译(七)
- j2ee1.4 tutorial的中文翻译
- Gevent tutorial (Gevent中文教程,Gevent中文翻译)(转载)
- Gevent tutorial (Gevent中文教程,Gevent中文翻译)
- Recurrent Neural Networks Tutorial 中文翻译
- TinyXml-2 Tutorial 中文翻译
- db4o Tutorial 翻译(6)
- awk-模式扫描与处理语言(Aho,Kernighan,Weinberger著,中文翻译)
- 《Entity Framework 6 Recipes》中文翻译系列 (32) ------ 第六章 继承与建模高级应用之TPH与TPT (1)
- Objective-C Runtime Programming Guide 中文翻译
- jQuery中文入门指南,翻译加实例,jQuery的起点教程
- Deep learning with Theano 官方中文教程(翻译)(四)—— 卷积神经网络(CNN)
- webservice之获得中文、英文双向翻译
- 翻译:A Tutorial on the Device Tree (Zynq) -- Part III
- Deep Learning 中文翻译
- 《Entity Framework 6 Recipes》中文翻译系列 (45) ------ 第八章 POCO之获取原始对象与手工同步对象图和变化跟踪器
- 转载:ZooKeeper Programmer's Guide(中文翻译)