gpt4 book ai didi

c# - 在 LINQ to SQL 中使用 contains()

转载 作者:IT王子 更新时间:2023-10-29 03:59:58 24 4
gpt4 key购买 nike

我正在尝试使用 linq-to-sql 在应用程序中实现非常基本的关键字搜索。我的搜索词在一个字符串数组中,每个数组项都是一个词,我想找到包含搜索词的行。我不介意它们包含的不仅仅是搜索词(很可能会),但所有搜索词都必须存在。

理想情况下,我想要类似于下面代码段的内容,但我知道这行不通。另外,我看过 this question here ,但该问题的作者似乎满足于以相反的方式做事( query.Contains(part.partName) ),这对我不起作用。

public IQueryable<Part> SearchForParts(string[] query)
{
return from part in db.Parts
where part.partName.Contains(query)
select part;
}

我如何重写此查询,以便它执行我需要的操作?

最佳答案

看着其他的尝试让我很难过:(

public IQueryable<Part> SearchForParts(string[] query)
{
var q = db.Parts.AsQueryable();

foreach (var qs in query)
{
var likestr = string.Format("%{0}%", qs);
q = q.Where(x => SqlMethods.Like(x.partName, likestr));
}

return q;
}

假设:

  • partName 看起来像:“ABC 123 XYZ”

  • 查询是 { "ABC", "123", "XY"}

关于c# - 在 LINQ to SQL 中使用 contains(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369022/

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