我有一个名为Ocorrencia
的对象列表,它有一个名为Tecnicos
的属性,它是对象OcorrenciaTecnico
的列表。该对象具有称为Nome
的属性。我想通过最后一个属性(String
)和Ocorrencia
的列表来过滤Nome
的列表。
对我来说太复杂了。我该如何实现?
我已经尝试过了:
String
但是我遇到一个错误:
无法隐式转换类型 “
ocorrencias = ocorrencias.Select( x => x.Tecnicos.Where( y => ocorrenciaFiltro.TecnicosFiltro.Any( z => z.Equals(y.Nome))));
” 至 “System.Collections.Generic.IEnumerable<System.Collections.Generic.IEnumerable<MasterCoin.Models.OcorrenciaTecnico>>
”。 存在显式转换(您是否缺少演员表?)
答案 0 :(得分:2)
我想您将Select
(一个投影)和Where
(一个 filter )混淆了。
试试这个:
var filteredOcorrencias = ocorrencias.Where(
x => x.Tecnicos.Any(
y => ocorrenciaFiltro.TecnicosFiltro.Contains(y.Nome))).ToList();
答案 1 :(得分:1)
那呢?
var nomes = new List<string> {"Taian", "Taian2"};
var allTaian = Ocorrencia.Where(o => o.Tecnicos.Any(t => nomes.Contains(t.Nome)));