在NET核心Web应用程序中跟踪用户和记录的最佳方式



我正在尝试使用.NET Core构建Inventory web应用程序。在这个应用程序中,我想跟踪每个创建和更新操作,所以我的应用程序中几乎每个模型都有CreatedBy和ModifiedBy字段,每个字段都与Users模型中的UserId字段有一对多关系。

所以在我的模型中有很多外键,在我的用户模型中有许多导航属性。它很有效,但看起来有点乱,尤其是在我的用户模型中,所以它让我觉得我的方法可能有问题。我想了一些其他的方法,但我只是在学习诀窍,所以我无法真正预测这些方法可能带来的负面影响,因此,我需要帮助。

那么,在web应用程序中处理这种情况的最佳方法是什么呢?

我应该继续定义外键吗?

我应该将UserId作为字符串存储在这些列中吗?

我应该创建另一个表来保存每次创建/更新操作的记录吗?

有更好的出路吗?

经过一些研究,我决定直接从SQL Server中使用时态表解决方案。你只需要在dbcontext的onmodelcreateing方法中添加几个代码就可以设置它,看起来它非常适合我的需求。

最新更新