Как зарегистрировать активность пользователя в приложении? - PullRequest
0 голосов
/ 12 мая 2019

Я хочу зарегистрироваться и отследить действия пользователя в программе.Что вы предлагаете?Через базу данных или на стороне программы?На стороне базы данных вы можете создавать триггеры для изменений в каждой таблице, но как вы можете использовать имя пользователя в качестве записи поиска данных?Программа пишется с использованием WpF, а база данных - с SQL 2014

. Для лучшего понимания рассмотрим следующий сценарий.

У меня есть таблица с именем «product» и таблица с названием «companies».Исходя из бизнес-логики, мы хотим присвоить продукты компаниям, которые оказались в таблице «company_product».Теперь, когда пользователь вставляет новый продукт и одновременно назначает его компании, это повлияет на 2 таблицы (то же самое касается удаления и обновления): «product» и «company_product», и мы хотим знать:

что вставлено?

что удалено?

что обновлено до чего?

А кто внес эти изменения?

1 Ответ

0 голосов
/ 12 мая 2019

Я всегда настраиваю таблицу TransactionLog, в которой есть такие столбцы, как:

  • TransactionId
  • UserId
  • Context
  • Details
  • TransactionDatetime

Комбинация полей «Идентификатор пользователя», «Контекст» и «Подробности» позволит вам получить все сведения о том, что было сделано каким пользователем.Удерживайте Context короче, что-то вроде varchar (50), который используется для группировки, но вы можете сделать Details varchar (max) при необходимости.

Вы также можете добавить дополнительное поле контекста, если это необходимо.Нечто подобное «Действие» можно использовать для захвата «обновить», «удалить» или «создать».Для этого я бы использовал «Контекст» для захвата имени объекта, который был сохранен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...