私はSOに関する多くの投稿を調べて、さまざまな答えを考え出しました。どれもうまく機能していないようで、コードのバージョンなどに基づいて互いに矛盾しているようです。
「AsEnumerable()」の修正は避けたいと思います。これは、クエリが適用される前にすべての結果を評価するためです...最初にクエリを実行して、結果のデータをできるだけ小さくしたいと思います。 。
情報:クエリしているテーブルには、+200万行を含めることができます。
私の要件:
Entity Frameworkを介したSQLServer(コンパクトまたは標準)の整数列の「含む」関数。これにより、ユーザーは完全な番号を利用できなくても、検索する番号を入力できます。他の述語と組み合わせると、これは返されるデータの量を減らすのに非常に強力になります。
例えば
f=>f.Id.ToString().Contains("202")<br/>
「ToString()」をエンティティストアコマンドに変換できないため、これは現在失敗しています。
またはT-SQLと同等のものとして
cast(Id as varchar(9)) LIKE '%202%'
バージョン: EF5
.Net 4.0
SQL
Server2008StandardまたはSQLCompact