0
是否有可能在實體框架DbContext的構建期間檢測基礎模型是否發生了變化?找出實體框架模型是否在DbContext構造過程中更改
的原因是,我安裝的DbContext施工期間ObjectMaterialized
事件處理程序,但這種失敗的InvalidOperationException
(基本模式已經改變)如果模式發生了變化,所以我想唯一條件化該事件處理附件如果型號有不是更改。
是否有可能在實體框架DbContext的構建期間檢測基礎模型是否發生了變化?找出實體框架模型是否在DbContext構造過程中更改
的原因是,我安裝的DbContext施工期間ObjectMaterialized
事件處理程序,但這種失敗的InvalidOperationException
(基本模式已經改變)如果模式發生了變化,所以我想唯一條件化該事件處理附件如果型號有不是更改。
你可以嘗試ChangeTracker
public bool ISContextChanges()
{
return this.ChangeTracker.Entries().Any(a => a.State == EntityState.Added
|| a.State == EntityState.Modified
|| a.State == EntityState.Deleted);
}
這將檢查數據是否改變,而不是模式(模型)。 –
嘗試'如果(context.Database.CompatibleWithModel(真)){...}'的https:// coding.abel.nu/2012/03/prevent-ef-migrations-from-creating-or-changing-the-database/ –
謝謝@SteveGreene - 解決了這個問題。 – Alex