Adding two missing properties to ContentTypeBase.
Creating mappers for the few types that supports "db queries" through the repository U4-978
This commit is contained in:
@@ -82,6 +82,43 @@ namespace Umbraco.Core
|
||||
});
|
||||
}
|
||||
|
||||
public static MemberInfo FindProperty(LambdaExpression lambdaExpression)
|
||||
{
|
||||
Expression expressionToCheck = lambdaExpression;
|
||||
|
||||
bool done = false;
|
||||
|
||||
while (!done)
|
||||
{
|
||||
switch (expressionToCheck.NodeType)
|
||||
{
|
||||
case ExpressionType.Convert:
|
||||
expressionToCheck = ((UnaryExpression)expressionToCheck).Operand;
|
||||
break;
|
||||
case ExpressionType.Lambda:
|
||||
expressionToCheck = ((LambdaExpression)expressionToCheck).Body;
|
||||
break;
|
||||
case ExpressionType.MemberAccess:
|
||||
var memberExpression = ((MemberExpression)expressionToCheck);
|
||||
|
||||
if (memberExpression.Expression.NodeType != ExpressionType.Parameter &&
|
||||
memberExpression.Expression.NodeType != ExpressionType.Convert)
|
||||
{
|
||||
throw new ArgumentException(string.Format("Expression '{0}' must resolve to top-level member and not any child object's properties. Use a custom resolver on the child type or the AfterMap option instead.", lambdaExpression), "lambdaExpression");
|
||||
}
|
||||
|
||||
MemberInfo member = memberExpression.Member;
|
||||
|
||||
return member;
|
||||
default:
|
||||
done = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception("Configuration for members is only supported for top-level individual members on a type.");
|
||||
}
|
||||
|
||||
public static IDictionary<string, object> GetMethodParams<T1, T2>(Expression<Func<T1, T2>> fromExpression)
|
||||
{
|
||||
if (fromExpression == null) return null;
|
||||
|
||||
Reference in New Issue
Block a user