db4o 8上不会触发db4o创建事件

问题描述

| 我在c#3.5中使用db4o 8,在我的所有域模型类上都启用了TA和TP。 问题是我将自己的ID生成器附加到使用以下代码创建事件: IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(Container);    eventRegistry.Creating + = new EventHandler(eventRegistry_Creating); 我有一个包含ORDER列表的USER类。 问题是,如果我更新了USER类,则不会为USER.ORDERS中新添加的ORDER对象触发创建事件。 在版本8之前,我使用v7.4,并且运行良好,但是今天我将其升级到v8,以获得一些性能优势,但是出现了此问题。 您能帮我解决这个问题吗?     

解决方法

        我试图重现该问题,对我来说很好。您确定添加的订单已实际存储吗?您正在使用哪种收藏? db4o可激活的集合还是常规的CLR集合?您使用了哪个版本? 这是我的小测试用例:
var eventRegistry = EventRegistryFactory.ForObjectContainer(container);
var expectFireCreated = false;
eventRegistry.Created += (sender,args) =>
                                {
                                    expectFireCreated = true;
                                };
var costumer = (from Constumer c in container
               select c).First();
costumer.Orders.Add(new Order(\"55\"));

container.Commit();

Assert.IsTrue(expectFireCreated);
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...