現在、住所に一致する顧客を見つけるためにリストを検索しています。住所と都市の両方で一致する必要があります。ラムダ式を両方の基準に一致するように書き直すにはどうすればよいですか?
CustomerList.FindAll(Function(c)c.Address = addressToMatch)
あなたが探しているキーワードはですAndAlso
。これは、2つの別々のチェックを1つのチェックに結合し、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%')
お役に立てれば