|
EF Core инжекция аудита изменения таблиц
|
|||
---|---|---|---|
#18+
Есть некоторое количество различных DbContext. Нужно реализовать довольно простой аудит путем сохранения записи в таблицу аудита при ее изменении через контекст EF на вызов SaveChanges. Логироваться должны только те таблицы, которые будут заданы через конфиг. Таблица с аудитом будет одна на все аудируемые таблицы, изменяемые записи будут сохраняться в JSON. Ну и плюс должна быть возможность выключить этот аудит. Из того что я нагуглил больше всего для этого подойдет Audit.EntityFramework Что не нравиться, так это то что нужно изменять код DbContext'a что бы подключить эту либу. Нужно либо наследоваться от AuditDbContext либо делать override SaveChanges. Можно ли как-то это реализовать без переписывания кода самих контекстов? Слышал что в EF Core есть нечто типа middleware и можно вставить свой в него свой код. Слышал это в контексте прикручивания кэша к EF, мол кэш перехватывает запрос, проверяет нет ли у него этих данных и только после этого отправляет запрос в БД. Но как-то не нашел никакой информации подобного плана. Буду рад услышать какие-нибудь идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 15:05 |
|
EF Core инжекция аудита изменения таблиц
|
|||
---|---|---|---|
#18+
Тройка, Если вам действительно аудит нужен в БД, рекомендую делать его за пределами контекста EF. Т.е. пишите записи в таблицу аудита напрямую или через лёгкий ORM. И не будете страдать. Попомните. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 21:37 |
|
EF Core инжекция аудита изменения таблиц
|
|||
---|---|---|---|
#18+
Что мучиться-то? Для других БД, наверняка, тоже что-то подобное есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 22:16 |
|
EF Core инжекция аудита изменения таблиц
|
|||
---|---|---|---|
#18+
fkthat Что мучиться-то? Для других БД, наверняка, тоже что-то подобное есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 22:30 |
|
EF Core инжекция аудита изменения таблиц
|
|||
---|---|---|---|
#18+
Тройка либо наследоваться от AuditDbContext либо делать override SaveChanges Именно SaveChanges собственно и является местом расширения, где нужно просматривать изменения. Если "без", то как тогда? Чтобы оно как-нибдуь само, и желательно вообще просто заклинание, чтобы ничего делать не пришлось :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 00:49 |
|
|
start [/forum/topic.php?fid=17&fpage=2&tid=1349058]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 362ms |
0 / 0 |