如何在应用程序中注册用户活动?

时间:2019-05-12 01:36:39

标签: c# database wpf

我想在程序中注册和跟踪用户活动。你有什么建议?通过数据库还是在程序端? 在数据库方面,可以为每个表的更改创建触发器,但是如何将用户名用作数据检索记录呢? 该程序是用WpF编写的,而数据库是使用SQL 2014编写的

为更好地理解,请考虑以下情形。

我有一个名为“ product”的表和一个名为“ companies”的表。根据业务逻辑,我们希望将产品分配给公司,最终在表“ company_product”中。现在,当用户插入新产品并同时分配其公司时,将影响2个表(“删除”和“更新”也是如此):“ product”和“ company_product”,我们想知道:

插入了什么?

删除了什么?

什么更新为什么?

谁做了这些更改?

1 个答案:

答案 0 :(得分:0)

我总是设置一个具有以下列的“ TransactionLog”表:

  • TransactionId
  • UserId
  • 上下文
  • 详细信息
  • TransactionDatetime

结合使用“用户ID”,“上下文”和“详细信息”字段,您可以捕获有关由哪个用户完成的操作的所有详细信息。保持上下文较短,类似于varchar(50),用于分组,但是如果需要,可以使Details varchar(max)。

如果需要,还可以添加其他上下文字段。诸如“动作”之类的内容可用于捕获“更新”,“删除”或“创建”。为此,我将使用“上下文”来捕获正在保存的对象的名称。