LINQ: Helfen Sie mit linq-Abfrage und enthält für ein IEnumerable<string>?

Kann jemand helfen?

Habe ich eine linq-Abfrage, die eingebettet ist innerhalb einer Erweiterung Methode war es die Arbeit als v. RentalStatus war ein String. Ich bin jetzt mit einer Gruppe auf meine ursprüngliche Abfrage (die Abfrage ist sehr Komplex, deshalb will ich es nicht hier).

Dem importante Sache ist, dass v. RentalStatus = IEnumerable daher kann es enthalten Dinge wie

A (meaning active)
R (meaning rented)
U (unavailable)

etc - many more

Erstelle ich eine Liste, was ich möchte, um wieder und speichern Sie diese in statusStringList, so zum Beispiel, können sagen, dass die Liste enthält, und R

Dies ist mein code von vor, wenn die v. RentalStatus war nur ein string, kann mir jemand sagen wie ich das ändern kann.

        var statusStringList = rentalStatus.ToList().ConvertAll<string>(st => st.GetStringValue());

        return from v in qry
               where statusStringList.Contains(v.RentalStatus)
               select v;

Wenn es hilft, das ist Teil meiner Abfrage gibt die RentalStatus - Ihr Teil einer Gruppe, die Abfrage aber der RentalStatus ist nicht in der group by -

 RentalStatus= g1.Select( j => j.IdRentalStatus).Distinct(),

g1 ist meine Gruppe durch, so dass, wenn Sie sich vorstellen, gibt es 10 "A", 5 "U" .. dann würde es wieder ein ienumerable von A und U ... da bin ich mit Distinct. Nicht 10 und 5 Us

Ich hoffe, ich konnte Sie gut, bitte sagen Sie mir, wenn ich nicht

Ich würde schätzen jede Hilfe, von niemandem ..

Dank

BEARBEITEN

Dies ist meine Erweiterung Unterschrift aber nicht, dass es darauf ankommt.

    public static IQueryable<Rentals> WithStatus(this IQueryable<Rentals> qry, IList<Contants.Statuses> rentalStatus)
    {

BEARBEITEN

Wie bereits erwähnt bei v. RentalStatus war ein string, es funktioniert, aber nun ist es IEnumerable - also eine Sammlung.. und es Fehler mit diesem

  Argument '1': cannot convert from 'System.Collections.Generic.IEnumerable<string>' to 'string'
Können Sie fix Ihre post-Titel haben Sie vergessen, die E in IEnumerable? Dank
Danke MArcel, ich habe aktualisiert.. oops

InformationsquelleAutor mark smith | 2009-11-09

Schreibe einen Kommentar