我想获得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)
我已经看过这个类似的问题,但无法让它发挥作用.
我使用的 EF5 有一个由字符串、日期、可为空日期和整数组成的 20 个大型属性实体。是否可以使用 Linq 对每个字段执行包含操作。
我不想为每个字段构建 linq 语句
results = list.Where(house => house.Date1.ToString().Contains(search)||
house.Address1.Contains(search)||
house.Address2.Contains(search)||
house.Address3.Contains(search)||
.........................)
Run Code Online (Sandbox Code Playgroud)
我想我想将所有属性转换为字符串(如有必要),然后对每个属性进行包含?理想情况下,这将发生在数据库级别。
我想我无法连接它们,因为如果两个字段的结束和开始创建了搜索文本,可能会导致错误匹配?有任何想法吗?
我目前是这个LINQ string[] 针对多个字段的第二个答案,使用 LinqKit AsExpandable 和 EF 将函数转换为基于类型的字符串。但是我似乎找不到将 DateTime 转换为字符串的 SqlFunction