0
在EF,顺序按允许使用的列名,例如排序依据(“说明”)的GroupBy条:为了能够在列名作为一个字符串传递
我需要能够做一些用的GroupBy类似的事情时,列类型被称为
var groupByExpressionGN2 = GetGroupByExpressionGuidNull<DebtWaiver>("PersonUID");
...
// in the query
.GroupBy(groupByExpression2)
// the Expression function
private static Expression<Func<TEntity,Guid?>> GetGroupByExpressionGuidNull<TEntity>(string property)
{
var item = Expression.Parameter(typeof(TEntity), "gb");
var itemProperty = Expression.PropertyOrField(item, property);
var lambda = Expression.Lambda<Func<TEntity, Guid?>>(itemProperty, item);
return lambda;
}
但我的用户可以通过它来组由
选择任一列1
其他职位有解决方案,使我怎样才能使歼结上述换取基的表达通过
我曾尝试这样的:
public static Expression<Func<T, object>> GetMember<T>(string memberName)// where T : EntityObject
{
ParameterExpression pe = Expression.Parameter(typeof(T), "p");
System.Reflection.PropertyInfo pi = typeof(T).GetProperty(memberName);
return (Expression<Func<T, object>>)Expression.Lambda<Func<T, object>>(Expression.Convert(Expression.Property(pe, pi), typeof(object)), pe);
}
但它产生的:P =>转换(p.PersonUID)
代替:P => p.PersonUID
问候
GregJF