关于db4o的透明激活与激活声明

Posted 天王星天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于db4o的透明激活与激活声明相关的知识,希望对你有一定的参考价值。

有关于透明激活,其介绍可以参看这里:http://www.cnblogs.com/redmoon/archive/2008/02/23/1078619.html

文中指出通过透明激活特性,db4o能够帮我们自动处理激活层次问题,使得对象的属性为非基础类型时也能够自动按需加载。

我不明白其运作原理是如何的,但很坦然地使用了它,直到遇到一个加载集合属性的子项总为空时,挠墙无解~

一度怀疑是db4o对类继承的支持存在BUG~

后来发觉声明全部层次激活(Db4oFactory.Configure().ObjectClass(typeof(MyClass1)).CascadeOnActivate(true))后,那个属性就能够成功获取了,可见这个问题还是源自透明激活——它还不够智能

引发问题的属性是一个List<>集合属性,而其他属性别管是基础类型还是自定类型的都没问题,所以猜测也许是透明激活还未对集合支持。

关于激活声明,还有点要注意的,例如以下这种激活层次说明:

Db4oFactory.Configure().ObjectClass(typeof(MyClass1)).CascadeOnUpdate(true);
Db4oFactory.Configure().ObjectClass(typeof(MyClass1)).CascadeOnActivate(true);

需注意的是,其中高亮部分的类型不应为抽象类或接口,应该是一个明确的绝对类型(即如果你希望某类及其父类都被指定这种声明的话,你需要分别为它们声明,而不能只声明父类),否则它是不起作用的。

 
 
转载:http://www.cnblogs.com/SkyD/archive/2010/10/03/1841729.html

以上是关于关于db4o的透明激活与激活声明的主要内容,如果未能解决你的问题,请参考以下文章

myeclipse 10怎么安装与激活

Navicat Premium 12.1.16.0安装与激活

windowsAPI里面的ShowWindow函数怎么用?主要是关于窗口激活的用法。

3dsmax2014的下载安装与注册激活教程详解

流量卡如何激活使用?关于流量卡的激活与充值问题

2020.1 PyCharm 激活