目前我正在搜索我的列表以查找与地址匹配的客户。我需要匹配地址和城市。如何重写我的 lambda 表达式以匹配这两个条件?
CustomerList.FindAll(Function(c) c.Address = addressToMatch)
您要查找的关键字是AndAlso
. 它将两个单独的检查组合成一个单独的检查,评估是否True
两个组件也是True
CustomerList.FindAll(Function(c) c.Address = addressToMatch AndAlso c.City = cityToMatch)
有一个 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%')
希望这可以帮助