Voici le code que je dois modifier:Troubles créant une bonne expression lambda
var xParam = Expression.Parameter(typeof(E), typeof(E).Name);
MemberExpression leftExpr = MemberExpression.Property(xParam, this._KeyProperty);
Expression rightExpr = Expression.Constant(id);
BinaryExpression binaryExpr = MemberExpression.Equal(leftExpr, rightExpr);
//Create Lambda Expression for the selection
Expression<Func<E, bool>> lambdaExpr = Expression.Lambda<Func<E, bool>>(binaryExpr, new ParameterExpression[] { xParam });
En ce moment, l'expression que je suis en train de sortir de c'est (x => x.RowId == id)
et ce que je veux changer pour est (x => x.RowId)
de sorte que Je peux l'utiliser dans un OrderBy
pour la méthode ObjectContext.CreateQuery(T)
appelée plus tard.
Est-ce que quelqu'un sait comment changer le code ci-dessus afin que le lambda soit correct à utiliser dans un OrderBy pour commander par le champ ID?
Notes de côté: Le RowId vient de this._KeyProperty Je crois. Cela fait partie d'un référentiel générique en utilisant le cadre de l'entité sur Asp.Net MVC
Je crois qu'il devrait être un Func ou quelque chose comme ça alors. –
asgerhallas
Ou plus précisément le type de la propriété clé ... – asgerhallas
Merci de le signaler. J'ai mis à jour la réponse. –