Eliminar varias filas con IDs sin necesidad de bucle y prueba de Postman.
Tengo un pequeño problema. Pero no sé por qué no funciona. Y no sé cómo enviar todos los IDs a través de Postman.
Estoy utilizando una unidad de trabajo con un repositorio genérico. Quiero enviar int[] ids a mi controlador. No quiero enviar la entidad. He buscado mucho hoy. Y he cambiado mi código. ¿Pero cuál es el problema ahora?
Este es mi repositorio:
public async Task DeleteRangeAsync(Expression<><t, bool="">> predicate)
{
IQueryable<t> query = _dbSet.Where(predicate);
await Task.Run(() => { _dbSet.RemoveRange(query.AsNoTracking()); });
}
Este es mi KulturManager:
public async Task<iresult> HardDeleteRangeAsync(int[] ids)
{
await UnitOfWork.Kulturs.DeleteRangeAsync(c => ids.Contains(c.Id));
await UnitOfWork.SaveAsync();
return new Result(ResultStatus.Success, Messages.Info("Kultur", "HardDelete"));
}
Y este es mi KulturController:
[HttpDelete("{ids}")]
public async Task<iactionresult> HardDeleteRangeAsync(int[] ids)
{
var result = await _kulturManager.HardDeleteRangeAsync(ids);
return Ok(result.Message);
}
Gracias por la ayuda.</t,>
davy.ai
Parece que el problema podría estar en cómo estás enviando el array de ids a través de Postman. Para enviar un array a través de una solicitud HTTP, puedes utilizar el formato
x-www-form-urlencoded
y utilizar el mismo nombre de clave para cada valor. En este caso, utilizaríasids
como la clave para cada id en el array:Ejemplo de cómo enviar un array de ids a través de Postman:
1. Selecciona
POST
como el método de solicitud y agrega la URL de tu endpoint de KulturController.2. Selecciona la pestaña
Body
y elige la opciónx-www-form-urlencoded
.3. En el campo
Key
, ingresaids[]
y en el campoValue
, ingresa cada id separado por una coma (por ejemplo,1,2,3
).4. Haz clic en
Send
y tu solicitud debería procesarse con los ids proporcionados.Otra cosa que debes verificar es si las instancias
UnitOfWork
yKulturs
están inicializadas y referenciadas correctamente en el constructor deKulturManager
. Verifica que no sean nulas y que se estén inyectando/inicializando correctamente en el manager.