0

それらをリストするのではなく、すべての行を一度に linq で含む検索を行う方法はありますか。

現時点で私がやっている

    Data.Where(
        x => x.Name.Contains(searchValue) ||
        x.Address.Contains(searchValue) || 
        x.Id.ToString().Contains(searchValue)... etc

私がやりたいことは、ジェネリックを渡して、行内のすべてのデータを検索させることですか?

例 Data.Where(x => row.Contains(searchValue))

4

2 に答える 2

0

プロパティのいずれかに文字列が含まれる LINQ クエリの複製

リフレクションを使用できますが、パフォーマンスには適していません

list.Where(x => x.GetType()
            .GetProperties()
            .Any(p =>
            {
                var value = p.GetValue(x);
                return value != null && value.ToString().Contains("some string");
            }));

編集Fabioが言ったように、これはSQLではなくメモリ内のリストをフィルタリングします。

于 2018-06-26T09:31:46.480 に答える