I'm using NHibernate to do a sql query in C #, however I have a question.
I have the following structure:
public class Pessoa {
public long Id {get; set;}
public string Nome {get; set;}
}
public class Usuario {
public long Id { //Utiliza o id da pessoa }
public Pessoa pessoa {get; set;}
}
What I would like to do is get a listing of the people that exist, but they are not linked to the user, ie all people who can become a user.
I'm currently using the following code:
[HttpGet]
public IList<Pessoa> getPessoasSemUsuarios()
{
var usuarios = Domain.Query(); //Lista de usuários
var pessoas = pessoaDomain.Query(); //Lista de pessoas
var pessoasSemUsuarios = new List<Pessoa>();
pessoas.ToList().ForEach(pessoa =>
{
//Adiciona todas as pessoas que não são usuários.
if (!usuarios.Any(x => x.Pessoa.Id == pessoa.Id))
pessoasSemUsuarios .Add(pessoa);
});
return pessoasSemUsuarios ;
}
Note: I thought of something related to left outer join, but I'm not sure, any ideas?