I have a couple models associated with a DbContext. How can I override SaveChanges to do something different based on the model being saved?
For example, let's say I have two models, Document and Paragraph. How can I override SaveChanges so that a directory is created when a Document is added and that a file is created when a Paragraph is added.
Here is my attempt at doing this so far.
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();
}