複数の列とやや複雑なテキストパターンを格納する1つの列を含むデータテーブルがあります-フィールドを解析して、特定のサブ文字列がより大きな文字列パターン内の特定の位置に存在するかどうかを判断し、レコードを次のように除外する必要があるかどうかを判断する必要があります結果。
String.Splitメソッド呼び出し、foreachなどを使用してC#解析関数を作成する以外に、解析を実行する方法がわかりません。しかし、次のように解析しようとすると、次のようになります。
var myFilteredTable = _db.MyTable.Where(t => t.Column1 == 'Filter1'
&& ParseIsMyItemInColumn2(t) );
「SQLへの変換はサポートされていません」というエラーが表示されます。
私が考えたもう1つのオプションは、解析なしで初期結果を作成することでした。
var myFilteredTable = _db.MyTable.Where(t => t.Column1 == 'Filter1' );
IQueryableの結果セットを反復処理し、解析関数を使用して各行をテストし、不要な行を除外しますが、IQueryableには、不要な行を削除するRemove関数や、新しい結果セットを作成するためのAdd関数がありません。
では、Parse関数も作成する必要がある場合、linqでフィルター処理するにはどうすればよいですか?