2017-02-17 25 views
0

Можно ли определить, изменилась ли базовая модель во время построения Entity Framework DbContext?Выясните, изменилась ли модель структуры Entity Framework при построении DbContext

Причина заключается в том, что я прилагаю обработчик событий ObjectMaterialized во время строительства DbContext, но это не удается с InvalidOperationException (базовая модель изменилась), если модель изменилась, поэтому я хотел бы conditionalize только что вложение обработчика событий если модель имеет не б/у.

+0

Попробуйте 'если (context.Database.CompatibleWithModel (истина)) {...}' https: // coding.abel.nu/2012/03/prevent-ef-migrations-from-creating-or-changing-the-database/ –

+0

Спасибо, @SteveGreene - это решило это. – Alex

ответ

0

вы можете попробовать ChangeTracker

public bool ISContextChanges() 

{

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

}

+0

Это проверит, изменились ли данные, а не схема (модель). –