我有一些应用程序创建的db4o
文件(我没有源代码),我需要从该文件中获取所有数据。
在我在教程中看到的所有示例中都有用于检索对象的类,但如果我没有这些类,该怎么办?
答案 0 :(得分:1)
您可以使用LINQPad和我的驱动程序http://www.gamlor.info/wordpress/2011/03/db4o-driver-for-linqpad/
进行尝试否则,您可以浏览db4o reflection API:
假设你没有上课,只想看一切。这样的事情(不记得确切的API):
IQuery query = container.Query();
IEnumerable allObjects = query.Execute();
foreach(Object item : allObjects){
GenericObject dbObject = (GenericObject)item; // Note: If db4o finds actuall class, it will be the right class, otherwise GenericObject. You may need to do some checks and casts
dbObject.GetGenericClass().GetDeclaredFields(); // Find out fields
object fieldData = dbObject.Get(0); // Get the field at index 0. The GetDeclaredFields() tells you which field is at which index
}