gpt4 book ai didi

c# - 使用 LINQ to SQL 搜索字符串内的列表对象

转载 作者:行者123 更新时间:2023-11-30 20:38:03 25 4
gpt4 key购买 nike

我有一个像这样的字符串列表

List<string> list1 = new List<string>();

例如我的列表是

{one , two , three , four , five}

在数据库中我有一个像这样的字符串

"five-six-seven-eight"

如何使用 Linq to SQL 在数据库中的字符串和列表之间进行搜索。例如,我的查询搜索应该是正确的,因为“五”在两者上都很常见。我的查询是这样的:

var q = from p in m.ViewAbuseReports where
(list1.Contains(p.Abuse.ToString().Split('-')) || list1.Count == 0)
select new
{
Col2 = p.FirstName + " " + p.LastName,
Col3 = p.DateTakhalof,
Col4 = p.DateReturn
};

最佳答案

您可以考虑使用 LINQ Intersect

var q = from p in m.ViewAbuseReports
let ps = p.Abuse.ToString().Split('-')
let i = list1.Intersect(ps).ToList() //here you get if there is any intersect (common elements) between the two `IEnumerable`
where (i.Count > 0 || list1.Count == 0)
select new
{
Col2 = p.FirstName + " " + p.LastName,
Col3 = p.DateTakhalof,
Col4 = p.DateReturn
};

关于c# - 使用 LINQ to SQL 搜索字符串内的列表对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475755/

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