Linq To Entities:字符串.包含一个列表 [英] Linq To Entities: String.Contains a list
问题描述
我正在将ASP.net Core 3.0
与Entity Framework Core 3.0
和Pomelo.EntityFrameworkCore
提供程序用于MySQL
,我需要查询来自特定城镇的所有用户.
比方说,例如,我有一个名为targettedTowns
的字符串列表,其中有以下城镇
I am using ASP.net Core 3.0
with Entity Framework Core 3.0
and Pomelo.EntityFrameworkCore
provider for MySQL
, I need to query all the users that are from specific Towns.
Lets say for example I have a list of strings called targettedTowns
in which I have the following towns
var targettedTowns = new List<string>() {"korangi","landhi","zia colony","shah faisal","quaidabad"};
- korangi
- landhi
- 齐亚殖民地
- shah faisal
- quaidabad
- korangi
- landhi
- zia colony
- shah faisal
- quaidabad
- 科朗伊
- 科朗伊齐亚殖民地
- 科兰吉-碧泰殖民地
- Korangi-Allah瓦拉镇
- Landhi-Sherpao
- Landhi-Awami殖民地
- Landhi-Sherabad
- ShahFaisal
现在,我想使用Linq Lambda语法查找targettedTowns
列表中的所有用户.
Now I want to find all the users that are located in the targettedTowns
list using Linq Lambda syntax.
数据库中的用户城镇保存起来就像
Users in my database have their towns saved like
我目前正在尝试的是
var users = context.Users.Where(x => x.Town.ToLower().Contains(targettedList)).ToList();
但是作为String.Contains不会在参数中包含列表,所以我不能使用它.
but as String.Contains does not take a list in argument so I cant use this.
推荐答案
您只需要在以下情况下将x.Town.ToLower()
替换为targettedList
:
You just need to replace x.Town.ToLower()
with targettedList
in where condition:
var users = context.Users.Where(x => targettedList.Contains(x.Town)).ToList();
这篇关于Linq To Entities:字符串.包含一个列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!