Retornar coluna com base no registro na tabela FK
Eu tenho uma consulta de sucesso para exibir fornecedores, mas o que eu queria adicionar agora é uma coluna mostrando quais fornecedores foram selecionados ou não (exibido como uma coluna de caixa de seleção). Essas seleções são armazenadas na tabela VendorsSelected que contém o FK ProfileID e o UserName que os selecionou. Portanto, quando o usuário atual visualizar os fornecedores, haverá correspondências para alguns fornecedores e não para outros.
Como modifico a consulta? Observe que a cláusula Where será realizada obtendo apenas fornecedores que o usuário atual selecionou, mas o que desejo é que todos os fornecedores sejam exibidos com a coluna true / false (checkbox) para cada fornecedor selecionado.
public IEnumerable<BrowseVendorModel> BrowseVendors()
{
IQueryable<BrowseVendorModel> viewModel = _db.VendorProfiles
.Include("VendorsSelected")
.Select(s => new BrowseVendorModel
{
ProfileID = s.ProfileID,
Name = s.Name,
CompanyName = s.CompanyName,
City = s.City,
State = s.State,
DateCreated = s.DateCreated
})
.Where(x => x.VendorsSelected.Select(s => s.UserName).Contains(HttpContext.Current.User.Identity.Name))
.OrderBy(v => v.ProfileID);
return viewModel;
}