gpt4 book ai didi

c# - 如何通过 Web API 跟踪断开连接的实体

转载 作者:行者123 更新时间:2023-11-30 17:48:10 25 4
gpt4 key购买 nike

假设我有一个应用程序允许客户通过 Web API 将产品添加/更新到我的数据库中。我有这样的轻量级 DTO:

public class ProductDTO
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}

假设我想将更改存储到审计表中,跟踪实体的行业惯例是什么。例如,显示旧价格与新价格

在我的 WebAPI Controller 中收到 DTO 后,我是否必须从数据库中查询当前记录、进行对象比较并保存差异? - 这是唯一的方法吗?

最佳答案

Web API 有 built-in logging and tracinghere is a good walkthrough .

这是一个TraceWriter implementation using log4net或者如果 NLog 更适合您,那么有一个 NLog trace logger ,这里是 another example using NLog .

如果你想比较变化,那么你需要手动设置一些东西。您可以轻松访问 JSON 请求。这只是一个问题或在旧对象和新对象之间运行差异。一个example of which在 StackOverflow 上。我会记录请求 header 、请求正文、端点地址、API key 、旧对象(请求)和差异。然后,您可以将比较输出为差异列表,或者进行并排比较(如您在 Git/SVN/TFS 合并中看到的那样)。

关于c# - 如何通过 Web API 跟踪断开连接的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23496796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com