簡體   English   中英

Linq-通過字符串列表過濾另一個列表內的列表屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM