LINQ where 句を実行して : の varchar フィールドをコレクションに分割し、これを別のコレクションと比較して値が一致するかどうかを確認することは可能ですか。
たとえば、List<string>
ARR ACC などを含む AllowedHolders という名前があります。ただし、データベースのフィールド (残念ながら変更できません) は varchar ですが、コロンで区切られた値を持っています: つまり、「:ARR:ACC:」
やりたいことは、AllowedHolders のいずれかがフィールドに表示されるかどうかを確認できる LINQ where 句を作成することです。フィールドに AllowedHolders コレクションの値が含まれているレコードのみを返すように結果を制限したいためです。
フィールドに単一の値のみが含まれている場合、次のことを行いました
searchResults = searchResults.Where(S => searchParams.AllowedBusinessAreas.Contains(S.SIT_BusinessArea));
ただし、SIT_HolderNames にはコロンで区切られた値が含まれているため、次の例は機能しません。
searchResults = searchResults.Where(S => searchParams.AllowedHolders.Contains(S.SIT_HolderName)
どんなアイデアでも大歓迎です。さらに説明が必要な場合は、お知らせください。
アンディ