zurückgeben mehrerer Felder zurück von einer Linq lambda

Ich habe den folgenden code liefert Ergebnisse aus einer Datenbank, wo columnName = Y'. Die code-Wörter in Ordnung, bis ich Sie einschränken möchten, welche Felder von der Abfrage zurückgegeben werden.

Bekomme ich die Fehlermeldung

Kann nicht implizit konvertiert Typ 'System.Linq -.IQueryable[AnonymousType#1]' in 'System.Linq -.IQueryable[MyApp.Modelle.Genehmigt]'. Eine explizite Konvertierung vorhanden ist (fehlt ein cast?)

public IQueryable<Approved> ReturnRecordsByObjectiveFlag(string columnName)
    {
        var param = Expression.Parameter(typeof(Approved), "x");
        var predicate = Expression.Lambda<Func<Approved, bool>>(
            Expression.Equal(
                Expression.PropertyOrField(param, columnName),
                Expression.Constant('Y',typeof(char?))
            ), param);
        return db.Approved.Where(predicate).Select(x =>new{x.RefNo, x.RefGroup, x.Location });
    }

ist es auf dieser Linie, dass ich den Fehler

return db.Approved.Where(predicate).Select(x =>new{x.RefNo, x.RefGroup, x.Location });  

Verbleib mache ich den cast?

Vielen Dank an Marc Gravell für Die Beantwortung einer früheren Frage auf diese Methode

InformationsquelleAutor MrBliz | 2011-01-17

Schreibe einen Kommentar