//public static Expression WrapIntoNamedExpression(string memberName, Expression argumentExpression) //{ // var expressionAsNamedExpression = argumentExpression as NamedExpression; // if (expressionAsNamedExpression != null && expressionAsNamedExpression.Name == memberName) // return expressionAsNamedExpression; // return CreateFromMemberName(memberName, argumentExpression); //} public static Expression WrapIntoNamedExpression(IArangoDatabase db, MemberInfo memberInfo, Expression argumentExpression) { var memberName = LinqUtility.ResolveMemberNameRaw(db, memberInfo); var expressionAsNamedExpression = argumentExpression as NamedExpression; if (expressionAsNamedExpression != null && expressionAsNamedExpression.Name == memberName) { return(expressionAsNamedExpression); } var namedExpression = CreateFromMemberName(memberName, argumentExpression); return(namedExpression); }