Использование EF для хранения изменений в базе данных - PullRequest
0 голосов
/ 25 июня 2018

У меня есть приложение (dotnet core 1.1, C #) с 5 основными объектами, каждый из которых хранится в своей таблице. Я хотел бы иметь одну основную таблицу, которая сохраняет все изменения со следующими столбцами:

  • UserId (кто внес изменение)
  • DateModified
  • Сущность (какая сущность была изменена)
  • EntityId (идентификатор объекта изменен)
  • Новое значение
  • OldValue

Как лучше всего подойти к этой проблеме? Выполнение всего этого вручную кажется огромной работой.

1 Ответ

0 голосов
/ 25 июня 2018

Различные способы, которыми вы можете достичь этого. Вы можете создать каркас журналирования, используя библиотеки NLog или Serilog .

Поскольку у вас очень мало сущностей, я считаю, что нужно создать ActionFilter и использовать его для записи данных в основную таблицу.

 public class LogAttribute : IActionFilter
 {
  public LogAttribute()
  {

  }

  public void OnActionExecuting(ActionExecutingContext context)
  {

  }

  public void OnActionExecuted(ActionExecutedContext context)
  {
    // save details to master table
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...