Entity Framework: На какие объекты таблиц влияет SaveChanges без журнала? - PullRequest
1 голос
/ 03 октября 2019

В EntityFramework Core, как узнать, какие сущности таблицы обновляются после вызова SaveChanges () без использования Log? Я хочу хранить переменную или консольную запись. Есть ли способ прочитать метаданные или с помощью рефлексии и т. Д.? Открыт для любой стратегии. Если сохранено несколько таблиц, их нужно сохранить в Списке или Перечислимом,

public class CustomContext : DbContext
{
    public CustomContext ()
    {
    }

    public override int SaveChanges()
    {
        Console.Writeline("...
    }

Ресурс: Как сделать контекст данных Entity Framework доступным только для чтения

Использование Entity Framework Core2.2

'Duplicate Question отслеживает весь исходный контент, значения и т. Д. Я просто ищу различные затронутые объекты, возможно, нужна более простая строка кода.

1 Ответ

1 голос
/ 03 октября 2019

Попробуйте, надеюсь, это вам поможет.

var dirtyEntries = context.ChangeTracker
           .Entries()
           .Where(x => x.State == EntityState.Modified || x.State == EntityState.Deleted|| x.State == EntityState.Added)
           .Select(x =>x.Entity)
           .ToList();
...