public void ListagemComItensRepetidosComparecaoComposta() { IEnumerable <PessoaFisica> pessoas = new List <PessoaFisica>() { new PessoaFisica() { Nome = "Victor Fructuoso", NomeMae = "Ana", CPF = "111.111.111-11" }, new PessoaFisica() { Nome = "Victor Fructuoso", NomeMae = "Paula", CPF = "111.111.111-11" }, new PessoaFisica() { Nome = "Victor Fructuoso", NomeMae = "Ana", CPF = "222.222.222-22" } }; IEnumerable <PessoaFisica> pessoasDiferentes = pessoas.Distinct(GenericComparerFactory <PessoaFisica> .Create(p => new { p.Nome, p.NomeMae })); Assert.NotNull(pessoasDiferentes); Assert.True(pessoasDiferentes.Any()); Assert.Equal(2, pessoasDiferentes.Count()); Assert.DoesNotContain(pessoasDiferentes, p => p.CPF == "222.222.222-22"); }
public static IEnumerable <TEntity> Distinct <TEntity>(this IEnumerable <TEntity> source, Func <TEntity, object> predicate) { return(source.Distinct(GenericComparerFactory <TEntity> .Create(predicate))); }