目前,我正在搜索我的列表,找到与地址匹配的客户。 我需要匹配地址和城市。如何重写我的lambda Expression以匹配这两个标准?
CustomerList.FindAll(Function(c)c.Address = addressToMatch)
答案 0 :(得分:9)
您要查找的关键字是AndAlso
。它将两个单独的检查组合成一个单独的检查,如果两个组件也是True
True
CustomerList.FindAll(Function(c) c.Address = addressToMatch AndAlso c.City = cityToMatch)
答案 1 :(得分:0)
有一个nuget包,允许您跨多个属性搜索字符串
这将允许以下代码......
CustomerList.Search(addressToMatch,
Function(c) c.Address,
Function(c) c.City)
连接到sql数据库时,生成的sql类似于:
SELECT [Extent1].[Address] AS [Address],
[Extent1].[City] AS [City]
FROM [dbo].[Table] AS [Extent1]
WHERE ([Extent1].[Address] LIKE N'%searchTerm%')
OR ([Extent1].[City] LIKE N'%searchTerm%')
希望这有帮助