[英]How to track disconnected entities over Web API
假设我有一个应用程序允许客户通过Web API将产品添加/更新到我的数据库中。 我有像这样的轻量级DTO:
public class ProductDTO
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
假设我想将更改存储到Audit表中,跟踪实体的行业惯例是什么。 例如,显示旧价格与新价格
在我的WebAPI控制器中收到DTO后,是否必须从数据库中查询当前记录,进行对象比较并保存差异? - 这是唯一的方法吗?
Web API具有内置的日志记录和跟踪功能 , 这是一个很好的演练 。
这是使用log4net的TraceWriter实现,或者如果NLog更像是你的茶,那么有一个NLog跟踪记录器 ,这是使用NLog的另一个例子 。
如果要比较更改,则需要手动设置。 您可以轻松访问JSON请求。 它只是一个问题或在旧对象和新对象之间运行差异。 其中一个例子是StackOverflow。 我会记录请求标头,请求主体,端点地址,API密钥,旧对象(请求)和差异。 然后,您可以将比较输出为差异列表,或者进行并排比较(如您在Git / SVN / TFS合并中所见)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.