Existem as seguintes entidades:
Entidade Paciente
public class Paciente : Pessoa
{
public int Id { get; set; }
public string Endereco { get; set; }
[NotMapped]
public int GetArea { get; set; }
public Area Area { get; set; }
}
Entidade Funcionario
public class Funcionario : Pessoa
{
public int Id { get; set; }
[NotMapped]
public List<string> AreaArray { get; set; }
public IList<FuncionarioAreas> Areas { get; set; }
}
Entidade FuncionarioAreas que esta na entidade Funcionario
public class FuncionarioAreas
{
public int Id { get; set; }
[Required]
public int AreaId { get; set; }
public Area Area { get; set; }
[Required]
public int FuncionarioId { get; set; }
public Funcionario Funcionario { get; set; }
}
Entidade Area que esta na entidade FuncionarioAreas
public class Area
{
public int Id { get; set; }
public string Valor { get; set; }
}
A questão é como varrer todos os funcionários e comparar as Áreas dele com a área do paciente.