Есть ли способ узнать, есть несохраненные изменения в моем контексте сущности, в Entity Framework?
Это может работать (если по изменениям вы имеете в виду добавленные, удаленные и измененные объекты):
bool changesMade = (context.ObjectStateManager.GetObjectStateEntries(EntityState.Added).Count() +
context.ObjectStateManager.GetObjectStateEntries(EntityState.Deleted).Count() +
context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Count()
) > 0;
Редактировать:
Улучшенный код:
bool changesMade = context.
ObjectStateManager.
GetObjectStateEntries(EntityState.Added |
EntityState.Deleted |
EntityState.Modified
).Any();