问题描述
|
我在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);