【发布时间】:2009-11-07 21:07:51
【问题描述】:
这是我需要修改的代码:
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 });
现在我从中得到的表达式是(x => x.RowId == id),我想将其更改为(x => x.RowId),以便我可以在OrderBy 中使用它,以便稍后调用ObjectContext.CreateQuery(T) 方法.
有谁知道如何更改上述代码,以便在 OrderBy 中正确使用 lambda 以按 ID 字段排序?
旁注:我相信 RowId 来自 this._KeyProperty。这是使用 Asp.Net MVC 上的实体框架的通用存储库的一部分
【问题讨论】:
标签: c# asp.net-mvc entity-framework lambda