[英]Linq - Filter list property that is inside another list by a list of strings
我有一個名為Ocorrencia
的對象的列表,它有一個名為Tecnicos
的屬性,該屬性是對象OcorrenciaTecnico
的列表。 該對象有一個稱為Nome
屬性,它是String
。 我想通過最后一個屬性( Nome
)和String
的列表來篩選Ocorrencia
的列表。
對我來說太復雜了。 我該如何實現?
我已經試過了:
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>>
隱式轉換為“System.Collections.Generic.IEnumerable<MasterCoin.Models.Ocorrencia>
”。 存在顯式轉換(您是否缺少演員表?)
我猜您將Select
(一個投影 )和Where
(一個過濾器 )弄混了。 嘗試這個:
var filteredOcorrencias = ocorrencias.Where(
x => x.Tecnicos.Any(
y => ocorrenciaFiltro.TecnicosFiltro.Contains(y.Nome))).ToList();
那個怎么樣 ?
var nomes = new List<string> {"Taian", "Taian2"};
var allTaian = Ocorrencia.Where(o => o.Tecnicos.Any(t => nomes.Contains(t.Nome)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.