是否可以执行 LINQ where 子句并将 : 上的 varchar 字段拆分为一个集合并将其与另一个集合进行比较以查看是否有任何值匹配。
例如,我们有一个List<string>
名为 AllowedHolders,其中包含 ARR ACC 等。但是数据库中的字段(不幸的是我们无法更改)是一个 varchar,但具有用冒号分隔的值:即“:ARR:ACC:”
我们想做的是编写一个 LINQ where 子句,它可以检查字段中是否出现任何 AllowedHolders。因为我们希望将结果限制为仅带回字段包含 AllowedHolders 集合中的值的记录。
我们在字段仅包含单个值的情况下完成了以下操作
searchResults = searchResults.Where(S => searchParams.AllowedBusinessAreas.Contains(S.SIT_BusinessArea));
但以下内容将不起作用,因为 SIT_HolderNames 包含由冒号分隔的值:
searchResults = searchResults.Where(S => searchParams.AllowedHolders.Contains(S.SIT_HolderName)
任何想法将不胜感激。如果您需要我进一步解释,请告诉我。
安迪