обикновено създавам израз по този начин.
ParameterExpression pe = Expression.Parameter(typeof(object1), "x");
string Name = "property1";
MemberExpression left = Expression.Property(pe, (object1).GetProperty(Name));
произвежда left = x => x.property1
Трябва да знам как мога да произвеждам
left = x => x.Object2.property1
if Name = "Object2.property1"; и object2 е дете на object1
Благодаря предварително