每次添加实体时,我都有一个需要新添加的实体的主键ID的进程。我已经覆盖了SaveChanges()
的{{1}}方法,并查看了DbContext
,但我没有看到任何动态方式来检索新添加的实体。有这么好的方法吗?
答案 0 :(得分:3)
查询新实体的更改跟踪器。
public override int SaveChanges()
{
var newEntities = ChangeTracker.Entries()
.Where(entry => entry.State == EntityState.Added)
.Select(entry => entry.Entity).ToList();
var count = base.SaveChanges();
// do something with newEntities
return count;
}
答案 1 :(得分:1)
您可以覆盖SaveChanges并在实际保存之前收集处于已添加状态的任何实体,但这是关于AFAIK的。