【发布时间】:2015-12-22 12:39:35
【问题描述】:
您好,我正在尝试使用该代码来获取包含用户的客户的属性 User.Email。但它是一个对象(用户类型的用户),所以它抛出异常。我应该解决什么问题?
public static IQueryable<T> OrderByField<T>(this IQueryable<T> q, string SortField, bool Ascending)
{
if (!string.IsNullOrWhiteSpace(SortField))
{
var param = Expression.Parameter(typeof (T), "p");
var prop = Expression.Property(param, SortField);
var exp = Expression.Lambda(prop, param);
string method = Ascending ? "OrderBy" : "OrderByDescending";
Type[] types = new Type[] {q.ElementType, exp.Body.Type};
var mce = Expression.Call(typeof (Queryable), method, types, q.Expression, exp);
return q.Provider.CreateQuery<T>(mce);
}
else
{
return q;
}
}
【问题讨论】:
标签: c# tree expression