好的,这可能是一个新手问题,但我如何/在哪里可以订阅ObjectContext.SavingChanges事件,如本例中提到的post。EF Code First:我在哪里可以找到SavingChanges事件?
我只有两个我的演示应用程序相关的类:“国家”级和保持EF代码优先“定义”一类:
internal class TestDb : DbContext
{
public DbSet<Country> Countries { get; set; }
}
任何暗示的高度赞赏。
不完全理解你的语法,但主要恍如最好的方式给我。真正的问题是如果使用EF 4.1还有更好的方法。 –
@SanderRijken - 你不懂什么语法?这非常简单。 DbContext实现了'IObjectContextAdapter'接口,它有一个名为ObjectContext的属性。您将'this'投射到适配器,然后使用它的ObjectContext属性来设置事件。 –
'(event evt)'。我可能会暴露事件为公共事件EventHandler SavingChanges {add {((IObjectContextAdapter)this).ObjectContext.SavingChanges + = value; }删除{((IObjectContextAdapater)this).ObjectContext.SavingChanges - = value; }}' –