我可以在linq中使用反射实体吗?

时间:2017-06-01 04:03:36

标签: c# entity-framework linq

以下是我的代码:

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中使用反射来实现内容 要么  如何动态引用实体属性名称

感谢。

0 个答案:

没有答案