Verwenden von Linq für die Ausführung von Enthält mehrere Werte
Ich habe eine Medikamententabelle, in der ich nach bestimmten Medikamentennamen suche, aber ich muss nach mehreren Namen suchen. Hier bin ich gerade dabei.
string[] names = new string[2];
names[0] = "apixaban";
names[1] = "desirudin";
var meds = (from m in Medications where names.Any(m.BrandName.Contains) || names.Any(m.GenericName.Contains) select m);
Was ich habe, funktioniert nicht und ich stecke momentan fest. Ich weiß, dass ich nah dran bin, aber ich kann nicht genau herausfinden, was los ist.
BEARBEITEN
Wenn der Name, nach dem ich suche, desirudin ist, ist der Markenname oder der generische Name zur Verdeutlichung länger. Daher muss das Feld in der Datenbank den Inhalt enthalten.
BEARBEITEN 2 Hier ist der Fehler, den ich erhalte.
Unsupported overload used for query operator 'Any'.
Hier ist, womit ich letztendlich fertig geworden bin
var meds = (from m in db.AdmissionMedications where
(names.Any(n => m.BrandName.Contains(n)) || names.Any(n => m.GenericName.Contains(n))
) select m);