/// <summary> /// Inserta o actualiza la entidad especificada en función si está o no establecido su llave primaria /// </summary> /// <param name="entity">Entidad a guardar</param> /// <returns></returns> public Task Save(IReadOnlyList <TEntity> entities) => entities.Any() ? ExecuteInContext(async(db, dbSet) => { foreach (var entity in entities) { // Se valida la entidad, si hay algún error se arroja una excepción await modelValidator.ValidateOrThrow( dbSet, entity ); AddOrUpdate(dbSet, entity); } return(await db.SaveChangesAsync()); }) : Task.CompletedTask;