18 Stimmen

LINQ to entities OrderBy-Ausdruck im Handumdrehen erstellen

Ich versuche, den orderby-Ausdruck im laufenden Betrieb hinzuzufügen. Aber wenn die Abfrage unten ausgeführt wird, erhalte ich die folgende Ausnahme:

System.NotSupportedException: Unmöglich einen konstanten Wert vom Typ Schließungstyp' erstellt werden. Nur primitive Typen ('wie Int32, String, und Guid') werden in diesem Kontext unterstützt.

Das Seltsame ist, dass ich genau diese primitiven Typen abfrage.

string sortBy = HttpContext.Current.Request.QueryString["sidx"];
ParameterExpression prm = Expression.Parameter(typeof(buskerPosting), "posting");
Expression orderByProperty = Expression.Property(prm, sortBy);

// get the paged records
IQueryable<PostingListItemDto> query =
   (from posting in be.buskerPosting
    where posting.buskerAccount.cmsMember.nodeId == m.Id
    orderby orderByProperty
    //orderby posting.Created 
    select new PostingListItemDto { Set = posting }).Skip<PostingListItemDto>((page -   1) * pageSize).Take<PostingListItemDto>(pageSize);

Ich hoffe, dass jemand etwas Licht in diese Angelegenheit bringen kann!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X