PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ef core 5 filtro da molti a molti

Stai combinando l'inclusione filtrata con il filtraggio delle entità.

Includi filtrati

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

filtra semplicemente gli elementi nella relativa raccolta (ruoli di menu in questo caso).

Per filtrare il set di entità (menu in questo caso), è necessario sostituirlo con il solito Where oparator, che per il filtraggio desiderato sarà

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