有关于透明激活,其介绍可以参看这里: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的透明激活与激活声明的更多相关文章

  1. SpringBoot实现网站注册,邮件激活码激活功能

    项目源码:https://gitee.com/smfx1314/springbootemail 上一篇文章已经讲到如何springboot如何实现邮件的发送,趁热打铁,这篇文章实现如下功能. 很多网站 ...

  2. Navicat Premium v12.0.23.0 安装,使用激活码激活

    1 下载 可以直接官网下载安装包,也可以直接到我的云盘下载 下载地址:https://pan.baidu.com/s/1apwU9cIKBTr-z0CuJEJ9gg 文件包中包含下面的文件: 2 安装 ...

  3. Java实现注册时发送激活邮件+激活

    最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 1.RegisterController.java package com.app.web.controller; import java ...

  4. win10 3dmax 激活后反复激活和激活码无效问题

    我也是遇到这个问题在网上找答案,像什么断网,清理注册表,删除某个.dat文件 各种试了好多都没管用 弄这个弄了五六个小时才总算成功 心累 现在我总结一下这些方法  我是第一条成功的 其他的我试着都没用 ...

  5. Navicat永久激活步骤,激活工具,解决注册码无效的问题

    Navicat for MySQL是一套管理和开发MySQL或MariaDB的理想解决方案,支持单一程序,可同时连接到MySQL和MariaDB.这个功能齐备的前端软件为数据库管理.开发和维护提供了直 ...

  6. 产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?

    什么是密钥管理服务 (KMS)? 密钥管理服务 (KMS) 允许在本地网络上激活产品.这样,单台计算机不必连接至 Microsoft 便可激活产品.需要将一台计算机配置为 KMS 主机.管理员必须为 ...

  7. 产品密钥无法激活成功,最后使用visio2013激活软件激活成功。

    装了visio2013,使用网上搜索的产品密钥,没有一个能够激活成功.最后发现了visio的一个激活软件KMSpico,成功激活. 破解工具 KMSpico_setup.exe 下载地址: http: ...

  8. pycharm 激活码激活

    http://idea.lanyus.com/ 去这个网站获取激活码,输入即可,亲测可用

  9. Windows 10“数字权利激活”永久性激活!!!

    直接运行软件即可自动激活,等出现"激活成功"即可关闭软件. 注意事项: 激活软件不会帮你打开Windows update服务,如关闭系统自动更细服务的需要先启动服务. 可以在小娜搜 ...

随机推荐

  1. IDEA设置类头,方法头自定义内容~图文

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

  2. Java的duotaix

    今天看到博客园上一位原创的博文讲解Java多态性,觉得不错,不过没有解释,特此注释,侵删 public class MyTest { public static void main(String ar ...

  3. Inno setup 开源的安装包打包软件

    Inno Setup是一个开源的安装包打包软件,下载地址是:http://www.jrsoftware.org/isdl.php 使用引导界面创建一个安装包打包 配置参考官方文档:http://www ...

  4. C++ 程序设计语言

    好记性不如烂笔头. 第六章 标准库给出了静态断言,形式类似如下: stastic_assert(A,S);//当A不为true时,把S作为一条编译器错误信息输出 其最重要的用途是为泛型编程中作为形参的 ...

  5. RHEL6本地YUM源配置

    1.挂载本地光盘到系统   1)通过光驱将系统盘挂载到某个目录 [root@cluster01 ~]# mkdir   /mnt/cdrom [root@cluster01 ~]# mount -t ...

  6. js - 基础 之 预编译总结

    js运行步骤 语法解析(检查有无语法错误) 预编译 解释运行(将 js 翻译成计算机识别的语言(0.1组成),翻译一行执行一行) 预编译 [全局]: 创建 GO( Grobal Object ) 对象 ...

  7. 如何创建DLL,以及注入DLL

    为了防止忘记,特记下 DLL的创建,在VS2017中选择dll的创建 // dllmain.cpp : Defines the entry point for the DLL application. ...

  8. Spring、SpringMVC注解方式整合

    1 原理 Web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainerInitializer文件. 加载META-IN ...

  9. [每日一讲] Python系列:字典

    #! /usr/bin/python # coding:utf-8 """ DATA STRUCTURE Container: Mapping (Another cont ...

  10. java——SimpleDateFormat与DateTimeFormatter

    https://www.jianshu.com/p/b212afa16f1f SimpleDateFormat不是线程安全的 DateTimeFormatter是线程安全的