gpt4 book ai didi

c# - 基于条件值构建 linq 查询

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:59 24 4
gpt4 key购买 nike

我有一大堆人的记录,每个人都在一个国家。

我使用 Entity Framework 检索澳大利亚的所有人:

var people = db.People.Where(x=>x.Country == "Australia")

我不确定如何根据一组 bool 值检索 X 国或 Y 国的人。

即:

bool USA = true;
bool Australia = false;
bool UK = true;
bool China = false;

如何构建在这种情况下会给我的 linq 查询:

var people = db.People.Where(x=>x.Country == "USA" || x.Country == "UK")

谢谢

最佳答案

你应该使用 PredicateBuilder :

var predicate = PredicateBuilder.False<People>();

if (USA)
predicate = predicate.Or(p => p.Country == "USA");
if (Australia)
predicate = predicate.Or(p => p.Country == "Australia");

// ...

var people = dp.People.Where(predicate);

关于c# - 基于条件值构建 linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586337/

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