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

时间:2011-05-29 11:46:33

标签: c#-3.0 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以获得一些性能优势但是出现了这个问题。

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我试图重现这个问题,这对我很有用。您确定添加的订单实际存储了吗?你使用什么样的系列? 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);