如何最好地基于链接在一起的对象创建过滤器?
本文关键字:在一起 对象 创建 过滤器 链接 何最好 于链接 | 更新日期: 2023-09-27 17:53:29
我有一个相互链接的数字列表:
000-1100-00
001-1100-00
000-1205-01
001-1205-01
001-1205-00
等等…
我需要一个数据结构或一种方法,能够在上面应用过滤器。
例如,如果第二组数字必须在1205上过滤,那么这些数字将返回为
001-1205-01
000-1205-01
001-1205-00
第二个过滤器可能会在第一个过滤器之后应用,如果我对第三组数字01进行过滤,那么返回的数字将是:
001-1205-01
000-1205-01
现在,可能有N个集合所以它不仅仅是三个集合。然而,所有的数字都有相同数量的集合,所以如果集合的数量是4,它最终看起来像这样:
123-11-22-54
我有什么选择?
如果我将上述列添加到SQL数据库中,我如何在不使用动态SQL创建过滤器的情况下进行搜索?
如果不通过SQL,是否有c#和它的数据结构的替代方案?您不需要动态SQL,但您确实需要知道您在寻找什么。如果您希望1205在3的第二个位置,那么使用:
where numbers like '%-1205-%'
对于第三组使用:
where numbers like '%-1205-%' and numbers like '%-01'
或
where numbers like '%-1205-01'
这是关于构造正确的参数进行比较,而不是动态SQL。
在任何情况下,问题的完整答案很可能是正则表达式。然而,这些的实现是完全特定于数据库的,并且您不需要提及您使用的是哪个数据库。