![](/img/trans.png)
[英]Dynamic Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> Expression
[英]Convert Expression<Func<TEntity,TKey> to Expression<Func<TEntity, Object>>
我正在寻找将Expression<Func<TEntity,TKey>
为Expression<Func<TEntity, Object>>
由于一切都是对象,因此我尝试了如下隐式转换:
var propertyMetadata =
new PropertyMetadata<TEntity>((Expression<Func<TEntity, object>>)expression);
但是,这会产生一个错误:
无法将类型
Expression<Func<TEntity,TKey>
为Expression<Func<TEntity, Object>>
有没有一种简单的方法可以在这两种类型之间进行转换
我写了一个简单的扩展方法来做到这一点,不久之后我就想到了一种更简单的方法
public static Expression<Func<TInput, object>> ToObjectExpression<TInput, TOutput>
(this Expression<Func<TInput, TOutput>> expression)
{
Expression converted = Expression.Convert(expression.Body, typeof(object));
return Expression.Lambda<Func<TInput, object>>(converted, expression.Parameters);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.