我正在为自定义ContentPart编写自定义ContentHandler。我试图在将新记录插入数据库之前使用OnCreating生命周期事件在我的ContentPart上设置一个值,但似乎在我的事件处理程序被调用之前创建了记录。
public class MyPartHandler: ContentHandler
{
public MyPartHandler(
IClock clock,
IRepository<MyPartRecord> repository)
{
this.Filters.Add(StorageFilter.For(repository));
OnCreating<CustomerPart>((CreateContentContext context, MyPartRecord myPart) =>
{
myPart.CreatedUtc = clock.UtcNow;
});
}
}
值得注意的是,除了涉及额外的数据库更新外,结果是相同的。
几个问题:
答案 0 :(得分:1)
您可以使用OnActivated
事件。它是内容项生命周期中调用的第一个事件。