以下是我的代码:
public class ExpressionBuilder<T>
{
public static Expression<Func<T, bool>> BuildStringCondition(string propertyName, string value)
{
Expression<Func<T, bool>> tempFilter = p => p.GetType().GetProperty(propertyName).GetValue(p, null).ToString().Contains(value);
return tempFilter;
}
}
我只想动态构建一个表达式。 当我调用方法时:
Expression<Func<plcontrol, bool>> conditions = ExpressionBuilder<plcontrol>.BuildStringCondition("code", "%001")
int count = _db.plcontrols.Count(conditions);
系统报告错误如下:
&#34; LINQ to Entities无法识别方法
System.Object GetValue(System.Object, System.Object[])
方法,并且此方法无法转换为商店 。表达&#34;
我的问题是 如何在linq中使用反射来实现内容 要么 如何动态引用实体属性名称
感谢。