Uso di linq, come posso recuperare un elenco di elementi in cui l'elenco di attributi corrisponde ad un altro elenco?linq dove elenco contiene qualsiasi nella lista
Prendete questo semplice esempio e pseudo codice:
List<Genres> listofGenres = new List<Genre>() { "action", "comedy" });
var movies = _db.Movies.Where(p => p.Genres.Any() in listofGenres);
ho cercato di utilizzare questa query per casella di ricerca, cerca qualsiasi carattere nella colonna PERSON_NAME, ho ottenuto questo errore: 'DbIntersectExpression richiede argomenti con raccolta compatibile ResultTypes 'così ho provato '.StartWith, .EndsWith, .Contains' da [qui] (http://blogs.telerik.com/openaccessteam/posts/12-04-17/string-matching-in- linq.aspx) funziona, ma cosa si può fare per utilizzare la query – stom
@stom: non abbiamo abbastanza informazioni per aiutarti - dovresti fare una nuova domanda con un * lotto * più contesto. –
@JonSkeet Uso sempre il metodo Contains per questo tipo di query. Ero curioso di vedere la tua risposta e ho controllato l'implementazione interna e ho scoperto che Intersect usa Set. Puoi dirmi la differenza di prestazioni tra questi due metodi? – Sreejith