我有几个与DbContext
. 如何SaveChanges
根据正在保存的模型覆盖以执行不同的操作?
例如,假设我有两个模型,Document
并且Paragraph
. 如何覆盖SaveChanges
以便在添加 a 时创建目录并在Document
添加 a 时创建文件Paragraph
。
到目前为止,这是我这样做的尝试。
public int override SaveChanges()
{
ChangeTracker.DetectChanges();
var context = ((IObjectContextAdapter)this).ObjectContext;
var stateEntries = context.ObjectStateManager.GetObjectStateEntries(
EntityState.Added
| EntityState.Modified
| EntityState.Deleted
).ToList();
foreach (var entry in stateEntries)
{
if (!entry.IsRelationship)
{
switch (entry.State)
{
case EntityState.Added:
break;
case EntityState.Modified:
break;
case EntityState.Deleted:
break;
}
}
}
return base.SaveChanges();
}