Mixujete filtrované zahrnutí s filtrováním entit.
Filtrováno včetně
.Include(m => m.Roles.Where(r => roles.Contains(r.Name)))
pouze filtruje položky v související kolekci (v tomto případě role nabídky).
Abyste mohli filtrovat sadu entit (v tomto případě nabídky), musíte ji nahradit obvyklým Where
operátor, který pro požadované filtrování bude
.Where(m => m.Roles.Any(r => roles.Contains(r.Name)))