【发布时间】:2015-04-12 05:37:32
【问题描述】:
我有大量的记录,每个人都在一个国家/地区。
我可以使用以下实体框架检索澳大利亚的所有人:
var people = db.People.Where(x=>x.Country == "Australia")
我不确定如何根据一组布尔值检索位于 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和一堆if语句就是你要找的。span> -
问题是有 10 个国家,所以有很多排列。 -) 希望有一种使用 Dict 或其他东西的奇特方式
-
排列?看我的回答。不涉及排列。
-
嗯,得到 [System.NotSupportedException] --- {"LINQ to Entities 不支持 LINQ 表达式节点类型 'Invoke'。"} 尝试使用 PredicateBuilder。有什么想法吗?