2017-02-01 3 views
0

私のLINQクエリは、例外LINQ-to-SQLで文字列書式またはそれに相当するものを使用することはできますか?

を引き起こしている

where dataContext.MyTable.Any(r => $"%{r.Name}%" == name) 

のような作品を持っている

「メソッド '可能System.Stringフォーマット(可能System.String、System.Objectのは)' ノー サポート翻訳を持っていますSQL

私がやろうとしている何をすることが可能に

または私は生のSQLを書くことに頼らなければならないでしょう?

+0

なぜ未加工SQLですか?クエリの外部にある変数に '$"%{name}% "'を代入して内部で使用するだけです。 –

+0

@IvanStoev、whoops、私は何か後方にあった。私の編集を見てください。 –

答えて

3

文字列補間(下にString.Formatを使用)を使用する代わりに、文字列連結を使用します。

where dataContext.MyTable.Any(r => ("%" + r.Name + "%") == r.Name) 
+0

うわー!それはうまくいった。 –

+0

@DrainTheSwamp - そのため、ショートカットを使用しているときにカーテンの後ろに何が起こっているのかを常に知るのに役立ちます。 upvote/acceptを自由に感じてください。 –

関連する問題