我想在OnModelCreating
类方法中执行两个操作
继承自DbContext
类:一个使用DbModelBuilder
实例,另一个使用上下文将处理程序添加到SavingChanges
事件。应始终将它们召集在一起,以避免在没有另一个的情况下调用它们。
问题是在创建模型之前不能使用上下文,所以我得到InvalidOperationException
例外。
我的问题有解决办法吗?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
TwoOperations(modelBuilder);
}
private void TwoOperations(DbModelBuilder modelBuilder)
{
FirstOperation(modelBuilder);
SecondOperation();
}
private void FirstOperation(DbModelBuilder modelBuilder)
{
// Do something with modelBuilder...
}
private void SecondOperation()
{
(this as IObjectContextAdapter).ObjectContext.SavingChanges += (sender, args) =>
{
// Do something...
}
}