我有一个名为COMMA_SEPARATED_VALUES的字段的表。我怎样才能过滤一个! (我必须将它集成到更大的查询中)LINQ查询 所有行,其中一个条目在整数范围内。
Table TEST
ID COMMA_SEPARATED_VALUES
-----------------------------------
1 '1,2,3,4'
2 '1,5,100,4,33'
3 '666,999'
4 '5,55,5'
过滤范围“10 - 99”将导致
ID
------------------------
2 (because of 33)
4 (because of 55)
答案 0 :(得分:2)
如果您了解调用AsEnumerable()
方法的性能副作用且不会造成伤害:
int lowerBound = 10; // lower bound of your range
int upperBound = 99; // upper bound of your range
var d = from row in context.Test.AsEnumerable()
let integers = row.COMMA_SEPERATED_VALUES
.Split(new char[] { ',' })
.Select(p => int.Parse(p))
where integers.Any(p => p < upperBound && p > lowerBound)
select row;