LinqからSqlを選択すると、ワイルドカードを使用した文字列検索が必要になります。これまでのところ、私は私がのためのサポートを見つけることができないよう何次Linq to SQL、中文字列%ワイルドカードのサポートはありますか?
%token = column.EndsWith(value)
token% = column.StartsWith(value)
%token% = column.Contains(value)
を行うことが可能であることを理解
to%ken
は、どのような方法でサポートすることをですか?
アップデート - しかし、これは私が持っている用法で動作するようには思えないこの
エラーをしようとしたときに私が得る
if (!object.Children.Any() || !object.Children.OrderByDescending(t => t.Version) .First().MetaDataPairs.Any(mdp => SqlMethods.Like(mdp.Value.ToLower(), stringmatch))) continue;
とエラー以下のコードを - 人々がSqlMethods.Likeを示唆していますメソッド 'Boolean Like(System.String、System.String)'はクライアントで を使用できません。それはSQLへの変換のためだけです。あなたはより一般的なアプローチをしたい場合、私は正規表現を使用することをお勧めします、SQLクエリにLINQのための
Where SqlMethods.Like(entity.StringProperty, "tok%en");
これだけ作品:名前空間
SqlMethods
で
のような正規表現を使用して
2)を歌う受け付けられませんが、ここを参照してくださいライアンからのより多くのupvoted答え、これはあなたが探しているものでしょうか? http://stackoverflow.com/questions/1040380/wildcard-search-for-linq – Equalsk
これもチェックしてくださいhttp://stackoverflow.com/questions/3000153/linq-to-sql-wildcards –
@Equalskこれは具体的ですLinqからSqlへ –