我正在使用MVC和Entity Framework开发基于电子商务的Web应用程序。
我只想跟踪/知道哪些实体已更新。例如,当用户更改任何产品的库存和价格并单击Save
按钮时,我要跟踪这两个实体使用其ProductId
更新。
有什么办法可以做到这一点?
谢谢。
最佳答案
免责声明:我是项目Entity Framework Plus的所有者
该项目允许审核/跟踪所有更改内容。如果您只想访问已修改的实体,则有很多选项可用。
// using Z.EntityFramework.Plus; // Don't forget to include this.
var ctx = new EntityContext();
// ... ctx changes ...
var audit = new Audit();
audit.CreatedBy = "ZZZ Projects"; // Optional
ctx.SaveChanges(audit);
// Access to all auditing information
var entries = audit.Entries;
foreach(var entry in entries)
{
foreach(var property in entry.Properties)
{
}
}
文档:EF+ Audit
NuGet:https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/