2011-01-28 2 views
1

から値を割り当てます。プロパティはExpression<Func<TEntity, object>>を使用してマップします。式マッピング

私は、知る限りオブジェクトからプロパティ値を取得する必要があります。その式を使用して値を割り当てるにはどうすればよいですか?

+2

を使用しますが、直接その式でそれを行うことはできませんそして、あなたが ''アクション<..> 'を作成する必要があります(またはます式>)を使用してください。参照:「取得」のLINQ式が提供されているときに、プロパティを設定するためにアクションを作成してください。 http://stackoverflow.com/q/4596453/412770 – Ani

答えて

1

expression = Expression<Func<TEntity, object>>を想定し、これを試してみてください。

MemberExpression memberExpression; 

switch (expression.Body.NodeType) 
{ 
    case ExpressionType.Convert: 
    memberExpression = ((UnaryExpression) expression.Body).Operand as MemberExpression; 
    break; 
    case ExpressionType.MemberAccess: 
    memberExpression = expression.Body as MemberExpression; 
    break; 
} 

var propInfo = memberExpression.Member as PropertyInfo; 

だけのSetValue

関連する問題