Отслеживание сущностей в Entity Framework Core 2.2 - PullRequest
0 голосов
/ 15 декабря 2018

Моя цель - добавить код для автоматического отслеживания сущностей в файле DbContext при вызове SaveChanges.

Я создал интерфейс с именем ITrackable with (CreatedBy, CreatedDate, updatedBy, updatedDate).Любая из моих сущностей, которые нужно отслеживать, реализует это.

В моем DbContext я пытаюсь сделать что-то вроде следующего:

    public override int SaveChanges()
    {
        var entries = ChangeTracker.Entries();
        foreach (var entry in entries)
        {
            if (entry.Entity is ITrackable trackable)
            {
                var now = DateTime.UtcNow;
                var user = GetCurrentUser();
                switch (entry.State)
                {
                    case EntityState.Modified:
                        trackable.UpdatedDate= now;
                        trackable.UpdatedBy= user;
                        break;

                    case EntityState.Added:
                        trackable.CreatedDate = now;
                        trackable.CreatedBy = user;
                        trackable.UpdatedDate= now;
                        trackable.UpdatedBy= user;
                        break;
                }
            }
        }
     // Need to know what to return here...
    }
  1. Я пытаюсь выяснить,это лучший способ сделать это
  2. Разве DbContext SaveChanges () не возвращает все типы различных целых чисел в зависимости от ситуации.Я не хочу нести ответственность за все это сейчас.
  3. Если у кого-то есть какие-либо более эффективные способы сделать это в наши дни, пожалуйста, дайте мне знать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...