相关疑难解决方法(0)

LINQ:实体字符串字段包含任何字符串数组

我想获得Product实体的集合,其中product.Description属性包含字符串数组中的任何单词.

它看起来像这样(结果将是任何在描述文本中有"mustard OR"泡菜"OR"relish"的产品):

Dim products As List(Of ProductEntity) = New ProductRepository().AllProducts

Dim search As String() = {"mustard", "pickles", "relish"}

Dim result = From p In products _
     Where p.Description.Contains(search) _
     Select p

Return result.ToList
Run Code Online (Sandbox Code Playgroud)

我已经看过这个类似的问题,但无法让它发挥作用.

linq arrays string contains

37
推荐指数
3
解决办法
5万
查看次数

如何检查字符串是否包含实体框架中列表中的任何字符串?

我正在尝试搜索数据库以查看字符串是否包含搜索项列表的元素.

var searchTerms = new List<string> { "car", "232" };
var result = context.Data.Where(data => data.Name.Contains(searchTerms) ||
                                        data.Code.Contains(searchTerms));
Run Code Online (Sandbox Code Playgroud)

如果searchTerms是一个字符串,这将有效,但我一直试图让它与字符串列表一起使用.

基本上我需要SQL来说

SELECT * FROM Data
WHERE Name LIKE '%car%'
OR Name LIKE '%232%'
OR Code LIKE '%car%'
OR Code LIKE '%232%'
Run Code Online (Sandbox Code Playgroud)

列表中包含任何列表的linq似乎是我能找到的关闭情况.

Where(data => searchTerms.Contains(data.Name) || searchTerms.Contains(data.Code) 只会将完全匹配带回搜索字词列表.

我也尝试在Entity Framework中搜索多个关键字搜索,并且已经用尽了这些努力.有没有办法实现我的目标?

c# entity-framework

6
推荐指数
2
解决办法
9567
查看次数

标签 统计

arrays ×1

c# ×1

contains ×1

entity-framework ×1

linq ×1

string ×1