【发布时间】:2011-02-06 16:21:02
【问题描述】:
如果我有产品。
var p = new Product { Price = 30 };
我有以下 linq 查询。
var q = repo.Products().Where(x=>x.Price == p.Price).ToList()
在 IQueryable 提供程序中,我为 p.Price 返回了一个 MemberExpression,其中包含一个常量表达式,但是我似乎无法从中获取值“30”。
更新 我已经尝试过,但它似乎不起作用。
var memberExpression = (MemberExpression)GetRootConstantExpression(m);
var fi = (PropertyInfo)memberExpression.Member;
var val = fi.GetValue(((ConstantExpression)memberExpression.Expression).Value, null);
干杯。
【问题讨论】:
标签: c# linq lambda expression-trees