Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core инжекция аудита изменения таблиц / 5 сообщений из 5, страница 1 из 1
16.07.2020, 15:05
    #39980500
Тройка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF Core инжекция аудита изменения таблиц
Есть некоторое количество различных DbContext. Нужно реализовать довольно простой аудит путем сохранения записи в таблицу аудита при ее изменении через контекст EF на вызов SaveChanges. Логироваться должны только те таблицы, которые будут заданы через конфиг. Таблица с аудитом будет одна на все аудируемые таблицы, изменяемые записи будут сохраняться в JSON. Ну и плюс должна быть возможность выключить этот аудит.
Из того что я нагуглил больше всего для этого подойдет Audit.EntityFramework
Что не нравиться, так это то что нужно изменять код DbContext'a что бы подключить эту либу. Нужно либо наследоваться от AuditDbContext либо делать override SaveChanges. Можно ли как-то это реализовать без переписывания кода самих контекстов?
Слышал что в EF Core есть нечто типа middleware и можно вставить свой в него свой код. Слышал это в контексте прикручивания кэша к EF, мол кэш перехватывает запрос, проверяет нет ли у него этих данных и только после этого отправляет запрос в БД. Но как-то не нашел никакой информации подобного плана. Буду рад услышать какие-нибудь идеи.
...
Рейтинг: 0 / 0
16.07.2020, 21:37
    #39980661
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF Core инжекция аудита изменения таблиц
Тройка,

Если вам действительно аудит нужен в БД, рекомендую делать его за пределами контекста EF.
Т.е. пишите записи в таблицу аудита напрямую или через лёгкий ORM.

И не будете страдать. Попомните.
...
Рейтинг: 0 / 0
16.07.2020, 22:16
    #39980672
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF Core инжекция аудита изменения таблиц
Что мучиться-то? Для других БД, наверняка, тоже что-то подобное есть.
...
Рейтинг: 0 / 0
16.07.2020, 22:30
    #39980676
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF Core инжекция аудита изменения таблиц
fkthat
Что мучиться-то? Для других БД, наверняка, тоже что-то подобное есть.
это не наш метод.
...
Рейтинг: 0 / 0
17.07.2020, 00:49
    #39980706
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF Core инжекция аудита изменения таблиц
Тройка
либо наследоваться от AuditDbContext либо делать override SaveChanges


Именно SaveChanges собственно и является местом расширения, где нужно просматривать изменения.

Если "без", то как тогда? Чтобы оно как-нибдуь само, и желательно вообще просто заклинание, чтобы ничего делать не пришлось :))
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core инжекция аудита изменения таблиц / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]