gpt4 book ai didi

c# - 如何使用通用搜索获取实体列表

转载 作者:行者123 更新时间:2023-12-04 02:06:14 24 4
gpt4 key购买 nike

我有一个通用存储库,像这样:

    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();
}

最佳答案

使用 Lambda 表达式作为参数

public virtual async Task<List<T>> SearchBy(Expression<Func<Table, bool>> searchBy)
{
return await _ctx.Set<Table>().Where(searchBy).ToListAsync();
}

这样,您将使用返回 bool 值的表表达式参数调用搜索

关于c# - 如何使用通用搜索获取实体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com