我的表中有一个列,其中包含以下值
"FilterA:123,234,34;FilterB:12,23;FilterC:;FilterD:45;"
过滤器由“;”分隔每个过滤器的值由“,”分隔。过滤器的名称和值之间有一个“:”。
现在,我可以做任何只能取出值部分的事情吗?就像“FilterA”的“123,234,34”一样。或者我可以给它一个像“234”这样的数字来搜索“FilterA”的值部分和/或“FilterB”的值部分中的“54”?我猜我知道使用正则表达式是可能的,但我不知道如何做。
您不能在 Linq to Entities 查询中使用正则表达式,因为它们无法转换为 SQL。你甚至无法使用String.Split
分割你的过滤器;
。您在这里有两个选择:
- 更改数据库表结构。例如。创建表
Foo_Filter
这会将您的实体链接到过滤器。然后创建表Filters
其中将包含过滤器数据。
- 在内存中执行查询并使用 Linq to Objects。这个选项会很慢,因为你必须将所有数据从数据库提取到内存
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)