public static EntityEntry <E> UpdateDefault <E>(this IBaseDbContext dbContext, E entity, Action <E> patchAction) where E : class { EntityEntry <E> entry; dbContext.TryAttach(entity, out entry); patchAction(entity); return(entry); }
public static async Task <EntityEntry <E> > UpdateAsyncDefault <E>(this IBaseDbContext dbContext, E entity, Func <E, Task> patchAction) where E : class { EntityEntry <E> entry; dbContext.TryAttach(entity, out entry); await patchAction(entity); return(entry); }
public static EntityEntry <E> UpdateDefault <E>(this IBaseDbContext dbContext, E entity, params Expression <Func <E, object> >[] changedProperties) where E : class { EntityEntry <E> entry; dbContext.TryAttach(entity, out entry); if (changedProperties?.Any() == true) { foreach (var property in changedProperties) { entry.Property(property).IsModified = true; } } else { return(dbContext.Update(entity)); } return(entry); }