public virtual int Save(TEntity entity) { var entry = Context.Entry(entity); if (entry.State == EntityState.Detached) { ObjectSet.Add(entity); entry.State = EntityState.Added; } else { ObjectSet.Attach(entity); entry.State = EntityState.Modified; } return(SaveChanges()); }