1

COMMA_SEPARATED_VALUES というフィールドを持つテーブルがあります。シングルでフィルタリングするにはどうすればよいですか。(より大きなクエリに統合する必要があります) LINQ は、エントリの 1 つが整数の範囲内にあるすべての行をクエリします。

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)
4

1 に答える 1

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;
于 2013-10-09T11:46:07.093 に答える