我需要使用代码优先方法跟踪 MVC .NET 应用程序中某些数据库对象的更改历史记录。
这是历史表的含义:http: //database-programmer.blogspot.de/2008/07/history-tables.html
如果我自己编写 SQL 查询,我会使用它的历史记录表。但是在代码优先的方法中,生成了 SQL……我想坚持这种范式。
目标是一个结构,它包含更改/删除条目的所有“旧”修订以及一些附加信息(例如时间戳,更改它的用户,...)
有任何想法吗?
问候,斯特凡
更具体地说 - 这是一些代码示例:
public class Node {
public int NodeID { get; set; }
public string? data { get; set; } // sample data
}
public class NodeHistory {
public int NodeID { get; set; }
public string? data { get; set; }
public int UserID { get; set; }
public DataTime timestamp { get; set; }
}
我需要的是一些“框架”帮助,以便能够在更改持久化时向 NodeHistory 添加一个条目以表节点结构。
这意味着:仅仅覆盖 set-method 不是一个解决方案,因为它也会创建一个条目,如果对“节点”的更改没有在最后保留(例如角色回退)。