我正在尝试执行以下通用方法来搜索数据库中的实体:
// 'atributo' is the name of the attribute to search against
public List<TEntity> buscar<TEntity>(string valor, string atributo) where TEntity : class
{
var matches = from m in db.Set<TEntity>()
where m.GetType().GetProperty(atributo).GetValue(m, null).ToString().Contains(valor)
select m;
return matches.ToList();
}
当然我得到了例外:
LINQ to Entities 无法识别方法“System.String ToString()”方法
而且我知道 GetType()、GetProperty() 和 GetValue() 也是无效的 LINQ 方法。
我无法弄清楚如何在查询之前使用无效方法。
有任何想法吗?
TIA