Zugriff auf den Wert eines Mitgliedsausdrucks

Wenn ich ein Produkt habe.

var p = new Product { Price = 30 };

und ich habe die folgende Linq-Abfrage.

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

In einem IQueryable-Anbieter erhalte ich eine MemberExpression für den p.Price zurück, die einen konstanten Ausdruck enthält. Es scheint jedoch nicht, dass ich den Wert "30" zurückerhalte.

Aktualisiere Ich habe es versucht, aber es scheint nicht zu funktionieren.

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

Prost

Antworten auf die Frage(8)

Ihre Antwort auf die Frage