gpt4 book ai didi

c# - 我可以执行 EF 语句 Where( c => c.NameStr == (is element in list ) ) 吗?

转载 作者:行者123 更新时间:2023-11-30 18:55:13 25 4
gpt4 key购买 nike

我想做一个 Where 语句,但要检查字段成员是否与字符串列表中的项目匹配,而不仅仅是一个字符串。我的实体是从数据库自动生成并存储在 .edmx 文件中。

//selectedAgencys is a List<string> 

List<v_MapCrimeData> list = ent.v_MapCrimeData
.Where(c => c.AgencyName == (element in list selectedAgencys));

最佳答案

您想查看列表是否包含该字段,因此可以使用Enumerable.Contains

nt.v_MapCrimeData.Where(c => selectedAgencys.Contains(c.AgencyName))

既然您表示您正在使用 Linq to Entities,您可能想尝试加入。

List<v_MapCrimeData> list = v_MapCrimeData.Join(
selectedAgencies,
c => c.AgencyName, //key selector for v_MapCrimeData
a => a, //key selected for selectedAgencies
(c, a) => c).ToList(); //result selector (i.e. return the v_MapCrimeData)

关于c# - 我可以执行 EF 语句 Where( c => c.NameStr == (is element in list<string> ) ) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346756/

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