私はこれを検索したい:Linq to Entities(EF 4.1):途中でワイルドカードを使用してSQL LIKEを実行する方法( '%term%term%')?
Post Cereal
と、この取得:ワイルドカードは空白になり
Post Honey Nut Cereal
を。
SPLITと一連のANDsとContains()を実行して、各用語のLinq式を仕様オブジェクトとして翻訳することはできますが、SQLに送信される用語にワイルドカードを使用する方法はありません? Linq to SQLのSQL関数を調べましたが、Linq to Entitiesの内容がわかりません。
私はこのような何かをしたいと思います:
term = '%' + term.Replace(' ', '%') + '%';
db.table.where(p => System.Data.Objects.SqlClient.SqlFunctions
.SqlMethods.Like(p.fieldname, term));
任意の提案を?
これ以上の投票が必要です。これはあまり複雑でなくても私にとって完璧に機能しました。 –
ジム博士は正しいです、数時間の解決策を探していましたが、これは私が見つけた最も単純なものです。 – user1841243
私はこれを.NETで直接試してみましたが、どちらもうまくいきませんでした。 EF 5、.NET 4.5およびVS 2012の使用 – Matt