【问题标题】:Filter with Linq comma separated field使用 Linq 逗号分隔字段过滤
【发布时间】:2013-10-09 11:41:11
【问题描述】:

我有一个表,其中包含一个名为 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)

【问题讨论】:

    标签: linq


    【解决方案1】:

    如果您知道调用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;
    

    【讨论】:

    • 酷。我认为这可能是问题所在,但认为最好让您解决。 ;-)
    • 正是我需要的。谢谢
    猜你喜欢
    • 2014-02-18
    • 2020-10-20
    • 2021-11-19
    • 2015-01-06
    • 2015-07-25
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多