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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte diese Arbeit
Gibt es, dass Fehler, weil die select-Anweisung ist die Schaffung eines anonymen Typs
Sie konnte über die Eigenschaft initialisers statt, also : neue Genehmigt() { PROPERTYNAME = VALUE, PROP2 = WERT2 usw... } Mit den Eigenschaften für Ihre Klasse Genehmigt.
Sortiert, danke Jungs.
InformationsquelleAutor Hakeem
Versuchen Sie, den untenstehenden code.
Als Sie schaffen das anonyme Objekt.
InformationsquelleAutor Jayesh Tanna