如何通过通用搜索获取实体列表

whoadityanawandar

我有一个通用存储库,如下所示:

    public IEnumerable<T> SelectAll()
    {
        return table.ToList();
    }

    public T SelectByID(object id)
    {
        return table.Find(id);
    }

    public void Insert(T obj)
    {
        table.Add(obj);
    }

这对于基本的CRUD来说效果很好,但是现在我需要针对用户输入的搜索词搜索实体(表)。是否可以用类似的方法做到这一点:

public IEnumerable<T> SelectAll(T obj, string searchText, string   columnName)
{
    // I am not sure what code to write here... It should give me all the records that contain the search term.
    // I was thinking something like this could be made to work...but I need help with it.
    return table.GetType().GetProperty(columnName).GetValue())ToList();
}
whoadityanawandar

这就是我现在正在使用的:

        public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate)
    {
        IEnumerable<T> searchResult = context.Set<T>().Where(predicate);
        return searchResult;
    }

和方法调用:

 var lstResult = objRepo.SelectAll(x=>x.ColumnName.Contains(searchText));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章