Ho cercato di risolvere questo problema tutto il giorno e non ho trovato una soluzione che funzioni davvero. Quando cerco alcuni dati, voglio filtrare i dati in base a più parole.Query LINQ per corrispondere più parole
Il mio valore di input viene suddiviso utilizzando la funzione standard .Split.
string[] searchstrings = MessageResult.Split(' ');
ho fatto una domanda (che ovviamente non funziona correttamente) che cerca di filtrare tutte le voci che riproduce ogni stringa nella searchstrings.
var suggestions = (from a in query
from w in searchstrings
where a.Message.ToLower().Contains(w.ToLower())
select a).Distinct();
query è la mia variabile che ha tutti i dati. Come posso fare in modo che questa query corrisponda effettivamente alle voci che includono ogni stringa in searchstrings?
Per chiarire, si desidera che le stringhe dalla query contengano ogni stringa suddivisa, vale a dire ** ogni ** stringa in searchString deve essere nelle stringhe risultanti? – Breland
se la domanda di @Breland è vera, questo cambierebbe .Contains to .All Mi piacerebbe vedere la query generata da quell'espressione – jjchiw
quale dovrebbe essere il risultato finale? – Yasser