我想将属性传递给方法并搜索与给定值匹配的记录。以下代码不会引发错误,但也不会返回任何数据。我不知道问题是这样设置列/属性,还是其他错误......代码如下:
public virtual IList<ReceivingInspection> GetRecordsBySupplier(string property, string value) {
if (property.Length < 1 || value.Length < 1) return null;
var result = from ri in _receiveInspectRepository.Table
where ri.property == value
select ri;
return result.ToList();
}
答案 0 :(得分:1)
您应该遍历_receiveInspectRepository.Table
中的项目并使用Reflection获取property
这样的事情:
Type t = ri.GetType();
PropertyInfo prop = t.GetProperty(property);
if(prop.GetValue(ri) == value)
{
dostuff();
}