sql >> Base de Datos >  >> RDS >> PostgreSQL

Ef core 5 muchos a muchos filtro

Está mezclando la inclusión filtrada con el filtrado de entidades.

Incluido filtrado

.Include(m => m.Roles.Where(r => roles.Contains(r.Name)))

simplemente filtra los elementos de la colección relacionada (funciones de menú en este caso).

Para filtrar el conjunto de entidades (menús en este caso), debe reemplazarlo con el habitual Where oparator, que para el filtrado deseado será

.Where(m => m.Roles.Any(r => roles.Contains(r.Name)))