Accéder à la valeur d'une expression de membre

Si j'ai un produit.

var p = new Product { Price = 30 };

et j'ai la suite d'une requête linq.

var q = repo.Products().Where(x=>x.Price == p.Price).ToList()

Dans un IQueryable fournisseur, je reçois un MemberExpression de retour pour les p.Prix qui contient une Expression Constante, cependant je n'arrive pas à obtenir la valeur "30" par lui.

Mise à jour
J'ai essayé ceci mais ça ne semble pas fonctionner.

var memberExpression = (MemberExpression)GetRootConstantExpression(m);
var fi = (PropertyInfo)memberExpression.Member;
var val = fi.GetValue(((ConstantExpression)memberExpression.Expression).Value, null);

Acclamations.

InformationsquelleAutor Schotime | 2010-04-11