8,497
社区成员
发帖
与我相关
我的任务
分享
public T GetEntity(Expression<Func<T, bool>> where)
{
//在方法里,是否可以从 where 中 获取 “UserOpenId ” 和它对应的值 “111”
}
var entity = GetEntity(m => m.UserOpenId =="111"||m.LoginName=="112"||m.Password=="222");
//获得=>左边name
ParameterExpression param = (ParameterExpression)exprTree.Parameters[0];
//二元方程的主体
UnaryExpression body = (UnaryExpression)exprTree.Body;
//获得二元方程
BinaryExpression operation = body.Operand as BinaryExpression;
//获得左边属性或字段
MemberExpression left = (MemberExpression)operation.Left;
//获得右边属性或字段
MemberExpression right = (MemberExpression)operation.Right;
//获得右边属性或字段的值
var value=Expression.Lambda(right).Compile().DynamicInvoke();
这个没做判断 实际需要有很多判断的
http://www.cnblogs.com/irenebbkiss/p/4157364.html
你可以看看这篇文章