gpt4 book ai didi

c# - Linq to object 动态查询是否可能?

转载 作者:太空狗 更新时间:2023-10-30 00:21:05 25 4
gpt4 key购买 nike

想知道是否可以使用 linq to objects 创建动态 linq 查询。

我有一个屏幕,用户可以在其中过滤多项内容。我需要构建一个不使用数据库的内存过滤

假设我在内存中有一个客户列表,我想根据一些多选内容进行过滤。

我认为可以传递谓词的方法可以解决问题,但显然不是。

我该怎么做?

例如

public class Biz
{
public List<Customer> GetAllByName(string name)
{
return Repository.Find(x=> x.Name == name);
}
}

public class Repository
{
private List<Customer> internalCustomerList = GetAllCustomers();

public IEnumerable<Customer> Find(Expression<Func<T, bool>> predicate)
{
//How do I make below work in linq to object
return internalCustomerList.Where(predicate);//error here
}
}

最佳答案

另一种方法是传递字符串过滤器而不是谓词。 Dynamic LINQ Library使这成为可能。

public IEnumerable<Customer> Find(string filter)
{
//filter would be something like "Age >= 20"
return internalCustomerList.Where(filter);
}

关于c# - Linq to object 动态查询是否可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7455922/

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