确定在DbContext构造期间是否更改了实体框架模型

时间:2017-02-17 21:09:03

标签: c# entity-framework dbcontext

是否可以检测在构建实体框架DbContext期间底层模型是否发生了变化?

原因是我在DbContext构造期间附加了ObjectMaterialized事件处理程序,但如果模型已更改,则会失败InvalidOperationException(基础模型已更改),因此我&# 39; d仅在模型更改时才条件化该事件处理程序附件。

1 个答案:

答案 0 :(得分:0)

你可以试试ChangeTracker

public bool ISContextChanges()

{

return this.ChangeTracker.Entries().Any(a => a.State == EntityState.Added
                                          || a.State == EntityState.Modified
                                          || a.State == EntityState.Deleted);

}